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
39 40 41 42 43 44 |
# File 'app/models/oidc_provider/id_token.rb', line 39 def config { issuer: OIDCProvider.issuer, jwk_set: JSON::JWK::Set.new(public_jwk) } end |
.key_pair ⇒ Object
27 28 29 |
# File 'app/models/oidc_provider/id_token.rb', line 27 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
31 32 33 |
# File 'app/models/oidc_provider/id_token.rb', line 31 def private_jwk JSON::JWK.new key_pair end |
.public_jwk ⇒ Object
35 36 37 |
# File 'app/models/oidc_provider/id_token.rb', line 35 def public_jwk JSON::JWK.new key_pair.public_key end |
Instance Method Details
#to_jwt ⇒ Object
20 21 22 |
# File 'app/models/oidc_provider/id_token.rb', line 20 def to_jwt to_response_object.to_jwt(self.class.private_jwk) end |
#to_response_object ⇒ Object
9 10 11 12 13 14 15 16 17 18 |
# File 'app/models/oidc_provider/id_token.rb', line 9 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 |