Class: OIDCProvider::IdToken
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- OIDCProvider::IdToken
- Defined in:
- app/models/oidc_provider/id_token.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.config ⇒ Object
42 43 44 45 46 47 |
# File 'app/models/oidc_provider/id_token.rb', line 42 def config { issuer: OIDCProvider.issuer, jwk_set: JSON::JWK::Set.new(public_jwk) } end |
.key_pair ⇒ Object
30 31 32 |
# File 'app/models/oidc_provider/id_token.rb', line 30 def key_pair @key_pair ||= OpenSSL::PKey::RSA.new(File.read(Rails.root.join("lib/oidc_provider_key.pem")), ENV["OIDC_PROVIDER_KEY_PASSPHRASE"]) end |
.private_jwk ⇒ Object
34 35 36 |
# File 'app/models/oidc_provider/id_token.rb', line 34 def private_jwk JSON::JWK.new key_pair end |
.public_jwk ⇒ Object
38 39 40 |
# File 'app/models/oidc_provider/id_token.rb', line 38 def public_jwk JSON::JWK.new key_pair.public_key end |
Instance Method Details
#set_defaults ⇒ Object
6 7 8 |
# File 'app/models/oidc_provider/id_token.rb', line 6 def set_defaults self.expires_at = 1.hour.from_now end |
#to_jwt ⇒ Object
23 24 25 |
# File 'app/models/oidc_provider/id_token.rb', line 23 def to_jwt to_response_object.to_jwt(self.class.private_jwk) end |
#to_response_object ⇒ Object
12 13 14 15 16 17 18 19 20 21 |
# File 'app/models/oidc_provider/id_token.rb', line 12 def to_response_object OpenIDConnect::ResponseObject::IdToken.new( iss: OIDCProvider.issuer, sub: account.send(OIDCProvider.account_identifier), aud: .client_id, nonce: nonce, exp: expires_at.to_i, iat: created_at.to_i ) end |