Module: GoSso::Controllers::Helpers

Extended by:
ActiveSupport::Concern
Defined in:
lib/go_sso/controllers/helpers.rb

Instance Method Summary collapse

Instance Method Details

#authenticate_sso_user_permissionObject



27
28
29
30
31
32
33
34
35
# File 'lib/go_sso/controllers/helpers.rb', line 27

def authenticate_sso_user_permission
  unless current_sso_user
    return redirect_to(main_app.go_sso_auth_url(redirect_url: request.url))
  end

  unless current_sso_user.can_access?(GoSso.main_app_module_name)
    return render json: { message: 'access denied' }, status: 401
  end
end

#current_sso_userObject



16
17
18
19
20
21
22
23
24
25
# File 'lib/go_sso/controllers/helpers.rb', line 16

def current_sso_user
  @current_sso_user ||= begin
    return nil unless session[:go_sso_token]
    return nil if sso_token_expired?
    user_json = GoSso.get_user_json(session[:go_sso_token])
    GoSso::User.new(user_json)
  end
rescue OAuth2::Error
  nil
end

#sso_token_expired?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/go_sso/controllers/helpers.rb', line 37

def sso_token_expired?
  session[:go_sso_token_expires_at] < Time.now.to_i
end