Module: OpenamAuth::Authenticate::InstanceMethods

Defined in:
lib/openam_auth/authenticate.rb

Instance Method Summary collapse

Instance Method Details

#authenticate_user!Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/openam_auth/authenticate.rb', line 7

def authenticate_user!
  status = false
  openam = OpenamAuth::Openam.new
  cookie_name = openam.cookie_name
  token = openam.token_cookie(request, cookie_name)

  #The following class  method shold be implemented by the parent application
  user = User.existing_user_by_token(token)

  unless user
    if openam.valid_token?(token)
      response = openam.openam_user(cookie_name, token)
      user_hash = openam.user_hash(response.body)
      #following class method should be implemented by the parent application
      user = User.update_openam_user(token, user_hash)
    end
  end
  if user
    session[:user_id] = user.id
    status = true
  end
  status ? true : (redirect_to openam.)
end