Class: Doorkeeper::OpenidConnect::ClaimsBuilder
- Inherits:
-
Object
- Object
- Doorkeeper::OpenidConnect::ClaimsBuilder
- Defined in:
- lib/doorkeeper/openid_connect/claims_builder.rb
Class Method Summary collapse
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(&block) ⇒ ClaimsBuilder
constructor
A new instance of ClaimsBuilder.
- #normal_claim(name, response: [:user_info], scope: nil, &block) ⇒ Object (also: #claim)
Constructor Details
#initialize(&block) ⇒ ClaimsBuilder
Returns a new instance of ClaimsBuilder.
18 19 20 21 |
# File 'lib/doorkeeper/openid_connect/claims_builder.rb', line 18 def initialize(&block) @claims = OpenStruct.new instance_eval(&block) end |
Class Method Details
.generate(access_token, response) ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'lib/doorkeeper/openid_connect/claims_builder.rb', line 8 def self.generate(access_token, response) resource_owner = Doorkeeper::OpenidConnect.configuration.resource_owner_from_access_token.call(access_token) Doorkeeper::OpenidConnect.configuration.claims.to_h.map do |name, claim| if access_token.scopes.exists?(claim.scope) && claim.response.include?(response) [name, claim.generator.call(resource_owner, access_token.scopes, access_token)] end end.compact.to_h end |
Instance Method Details
#build ⇒ Object
23 24 25 |
# File 'lib/doorkeeper/openid_connect/claims_builder.rb', line 23 def build @claims end |
#normal_claim(name, response: [:user_info], scope: nil, &block) ⇒ Object Also known as: claim
27 28 29 30 31 32 33 34 35 |
# File 'lib/doorkeeper/openid_connect/claims_builder.rb', line 27 def normal_claim(name, response: [:user_info], scope: nil, &block) @claims[name] = Claims::NormalClaim.new( name: name, response: response, scope: scope, generator: block ) end |