Class: LobbyBoy::OpenIDConnect::IdToken
- Inherits:
-
SimpleDelegator
- Object
- SimpleDelegator
- LobbyBoy::OpenIDConnect::IdToken
- Defined in:
- lib/lobby_boy/openid_connect/id_token.rb
Overview
Wraps a OpenIDConnect::ResponseObject::IdToken providing some useful methods for it.
Instance Attribute Summary collapse
-
#jwt_token ⇒ Object
Returns the value of attribute jwt_token.
Instance Method Summary collapse
- #datetime_from_seconds(seconds) ⇒ Object
- #expires_at ⇒ Object
-
#expires_in ⇒ Object
Number of seconds left until this ID token expires.
-
#initialize(jwt_token, public_key = nil) ⇒ IdToken
constructor
Creates a new IdToken by decoding the given JWT token using the given public key.
- #issued_at ⇒ Object
Constructor Details
#initialize(jwt_token, public_key = nil) ⇒ IdToken
Creates a new IdToken by decoding the given JWT token using the given public key.
14 15 16 17 18 |
# 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 |
Instance Attribute Details
#jwt_token ⇒ Object
Returns the value of attribute jwt_token.
7 8 9 |
# File 'lib/lobby_boy/openid_connect/id_token.rb', line 7 def jwt_token @jwt_token end |
Instance Method Details
#datetime_from_seconds(seconds) ⇒ Object
34 35 36 |
# 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 ⇒ Object
20 21 22 |
# File 'lib/lobby_boy/openid_connect/id_token.rb', line 20 def expires_at datetime_from_seconds __getobj__.exp end |
#expires_in ⇒ Object
Number of seconds left until this ID token expires.
30 31 32 |
# 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 ⇒ Object
24 25 26 |
# File 'lib/lobby_boy/openid_connect/id_token.rb', line 24 def issued_at datetime_from_seconds __getobj__.iat end |