Class: Devise::Strategies::IchainAuthenticatable

Inherits:
Authenticatable
  • Object
show all
Defined in:
lib/devise_ichain_authenticatable/strategy.rb

Instance Method Summary collapse

Instance Method Details

#authenticate!Object



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.ichain_username_header]
    attributes = {}
    ::Devise.ichain_attribute_headers.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

#store?Boolean

Returns:

  • (Boolean)


5
6
7
# File 'lib/devise_ichain_authenticatable/strategy.rb', line 5

def store?
  false
end

#valid?Boolean

Returns:

  • (Boolean)


9
10
11
# File 'lib/devise_ichain_authenticatable/strategy.rb', line 9

def valid?
  ::Devise.ichain_test_mode || !request.env[::Devise.ichain_username_header].blank?
end