class Doorkeeper::OpenidConnect::ClaimsBuilder

Public Class Methods

generate(access_token, response) click to toggle source
# 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
new(&block) click to toggle source
# File lib/doorkeeper/openid_connect/claims_builder.rb, line 16
def initialize(&block)
  @claims = OpenStruct.new
  instance_eval(&block)
end

Public Instance Methods

build() click to toggle source
# File lib/doorkeeper/openid_connect/claims_builder.rb, line 21
def build
  @claims
end
claim(name, response: [:user_info], scope: nil, &block)
Alias for: normal_claim
normal_claim(name, response: [:user_info], scope: nil, &block) click to toggle source
# 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
Also aliased as: claim