13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/devise_ichain_authenticatable/strategy.rb', line 13
def authenticate!
proxy_user = nil
if ::Devise.ichain_test_mode
if ::Devise.ichain_force_test_username
proxy_user = ::Devise.ichain_force_test_username.to_s
elsif session[:ichain_test_username]
proxy_user = session[:ichain_test_username]
end
if ::Devise.ichain_force_test_attributes
attributes = ::Devise.ichain_force_test_attributes
else
attributes = session[:ichain_test_attributes] || {}
end
else
proxy_user = request.env[::Devise.]
attributes = {}
::Devise..each do |k,v|
attributes[k.to_sym] = request.env[v]
end
end
if proxy_user
resource = mapping.to.for_ichain_username(proxy_user, attributes)
return fail! unless resource
resource.signed_in_by_ichain!
success!(resource)
else
fail!
end
end
|