Module: Warden::GitHub::SSO
- Defined in:
- lib/warden/github/sso.rb
Instance Method Summary collapse
- #warden_github_sso_session_needs_reverification?(user, expiry_in_seconds) ⇒ Boolean
- #warden_github_sso_session_reverify! ⇒ Object
- #warden_github_sso_session_valid?(user, expiry_in_seconds = 30) ⇒ Boolean
- #warden_github_sso_session_verified_at ⇒ Object
Instance Method Details
#warden_github_sso_session_needs_reverification?(user, expiry_in_seconds) ⇒ Boolean
24 25 26 27 |
# File 'lib/warden/github/sso.rb', line 24 def warden_github_sso_session_needs_reverification?(user, expiry_in_seconds) user.using_single_sign_out? && (warden_github_sso_session_verified_at <= (Time.now.utc.to_i - expiry_in_seconds)) end |
#warden_github_sso_session_reverify! ⇒ Object
20 21 22 |
# File 'lib/warden/github/sso.rb', line 20 def warden_github_sso_session_reverify! session[:warden_github_sso_session_verified_at] = Time.now.utc.to_i end |
#warden_github_sso_session_valid?(user, expiry_in_seconds = 30) ⇒ Boolean
4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/warden/github/sso.rb', line 4 def warden_github_sso_session_valid?(user, expiry_in_seconds = 30) return true if defined?(::Rails) && ::Rails.env.test? if warden_github_sso_session_needs_reverification?(user, expiry_in_seconds) if user.browser_session_valid?(expiry_in_seconds) warden_github_sso_session_reverify! return true end return false end true end |
#warden_github_sso_session_verified_at ⇒ Object
16 17 18 |
# File 'lib/warden/github/sso.rb', line 16 def warden_github_sso_session_verified_at session[:warden_github_sso_session_verified_at] || Time.now.utc.to_i - 86400 end |