class LobbyBoy::OpenIDConnect::IdToken

Wraps a OpenIDConnect::ResponseObject::IdToken providing some useful methods for it.

Attributes

jwt_token[RW]

Public Class Methods

new(jwt_token, public_key = nil) click to toggle source

Creates a new IdToken by decoding the given JWT token using the given public key.

@param jwt_token [String] The JWT token received from the OpenID Connect provider. @param public_key [String] Public key or secret. Only required for signed tokens.

Calls superclass method
# File lib/lobby_boy/openid_connect/id_token.rb, line 14
def initialize(jwt_token, public_key = nil)
  @jwt_token = jwt_token
  id_token = ::OpenIDConnect::ResponseObject::IdToken.decode jwt_token, public_key
  super id_token
end

Public Instance Methods

datetime_from_seconds(seconds) click to toggle source
# File lib/lobby_boy/openid_connect/id_token.rb, line 34
def datetime_from_seconds(seconds)
  DateTime.strptime seconds.to_s, '%s'
end
expires_at() click to toggle source
# File lib/lobby_boy/openid_connect/id_token.rb, line 20
def expires_at
  datetime_from_seconds __getobj__.exp
end
expires_in() click to toggle source

Number of seconds left until this ID token expires.

# File lib/lobby_boy/openid_connect/id_token.rb, line 30
def expires_in
  [0, __getobj__.exp - Time.now.to_i].max
end
issued_at() click to toggle source
# File lib/lobby_boy/openid_connect/id_token.rb, line 24
def issued_at
  datetime_from_seconds __getobj__.iat
end