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.
16 17 18 19 |
# File 'lib/doorkeeper/openid_connect/claims_builder.rb', line 16 def initialize(&block) @claims = OpenStruct.new instance_eval(&block) end |
Class Method Details
.generate(access_token, response) ⇒ Object
6 7 8 9 10 11 12 13 14 |
# File 'lib/doorkeeper/openid_connect/claims_builder.rb', line 6 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
21 22 23 |
# File 'lib/doorkeeper/openid_connect/claims_builder.rb', line 21 def build @claims end |
#normal_claim(name, response: [:user_info], scope: nil, &block) ⇒ Object Also known as: claim
25 26 27 28 29 30 31 32 33 |
# File 'lib/doorkeeper/openid_connect/claims_builder.rb', line 25 def normal_claim(name, response: [:user_info], scope: nil, &block) @claims[name] = Claims::NormalClaim.new( name: name, response: response, scope: scope, generator: block ) end |