how to scope the /auth/:provider/callback , using OmniAuth for users and members

69 views
Skip to first unread message

Erwin

unread,
Oct 6, 2012, 1:06:00 PM10/6/12
to Ruby on Rails: Talk
I have two separate groups of people authenticated w Devise , but in
this case I cannot used the Devise embedded OmniAuth support. So i am
using directly the OmniAuth gem.

Initialized w :
Rails.configuration.middleware.use OmniAuth::Builder do
..provider :twitter,
..
end

It's running fine , but I have an issue with the callback route
mapping :

I tried
match '/users/auth/:provider/callback', to: 'users/
omniauth_callbacks#create'
match '/members/auth/:provider/callback', to: 'members/
omniauth_callbacks#create'
but the provider ( fb , twitter, google) claimebd about the callback
uri :
"/auth/:provider/callback"
..
as the path_prefix (:path_prefix => "/auth" ) is set in the
initializer , I have no mean to modify it dynamically...

any clue ? or feedback from previous experiences...

thanks


Erwin

unread,
Oct 7, 2012, 5:03:21 AM10/7/12
to Ruby on Rails: Talk
[SOLVED] maybe not the best way, but it runs ..
using only one callback url, I can test the
request.env["omniauth.origin"] which can be tested :

"http://lvh.me:3000/en/users/sign_in"
or
"http://acme.lvh.me:3000/en/members/sign_in" ( in this cas I can even
test for current_subdomain.nil?
Reply all
Reply to author
Forward
0 new messages