Class: AuthProvider::OAuthAccessToken

Inherits:
ApplicationRecord show all
Defined in:
app/models/auth_provider/oauth_access_token.rb

Defined Under Namespace

Classes: AccessTokenUnavailable

Instance Method Summary collapse

Instance Method Details

#available?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'app/models/auth_provider/oauth_access_token.rb', line 16

def available?
  !revoked? && !expired?
end

#expired?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'app/models/auth_provider/oauth_access_token.rb', line 20

def expired?
  Time.now > (created_at || Time.now) + expires_in.seconds
end

#revoke!Object



33
34
35
# File 'app/models/auth_provider/oauth_access_token.rb', line 33

def revoke!
  update_attributes!(revoked_at: Time.current)
end

#revoke_other_access_tokens_under_the_session!Object



37
38
39
# File 'app/models/auth_provider/oauth_access_token.rb', line 37

def revoke_other_access_tokens_under_the_session!
  oauth_session.oauth_access_tokens.not_revoked.where.not(id: id).update_all(revoked_at: Time.current)
end

#revoked?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'app/models/auth_provider/oauth_access_token.rb', line 24

def revoked?
  revoked_at.present? || oauth_session.revoked?
end

#use!Object



28
29
30
31
# File 'app/models/auth_provider/oauth_access_token.rb', line 28

def use!
  raise AccessTokenUnavailable unless available?
  revoke_other_access_tokens_under_the_session!
end