Module: OmniAuth::Fishbrain::VerifiesIdToken
- Included in:
- Strategies::Fishbrain, Strategies::FishbrainId
- Defined in:
- lib/omniauth/fishbrain/verifies_id_token.rb
Instance Method Summary collapse
Instance Method Details
#decode_options ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/omniauth/fishbrain/verifies_id_token.rb', line 17 def { iss: iss, aud: [:client_id], verify_aud: true, verify_expiration: true, verify_iat: true, verify_iss: true, verify_not_before: true, leeway: [:jwt_leeway], algorithm: 'RS256', jwks: jwks, } end |
#id_token ⇒ Object
9 10 11 12 13 14 15 |
# File 'lib/omniauth/fishbrain/verifies_id_token.rb', line 9 def id_token @_id_token ||= if raw_id_token&.strip&.empty? {} else JWT.decode(raw_id_token, nil, true, ).first end end |
#iss ⇒ Object
32 33 34 |
# File 'lib/omniauth/fishbrain/verifies_id_token.rb', line 32 def iss "https://cognito-idp.#{options[:aws_region]}.amazonaws.com/#{options[:user_pool_id]}" end |
#jwks ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/omniauth/fishbrain/verifies_id_token.rb', line 36 def jwks @_jwks ||= \ "#{iss}/.well-known/jwks.json" .yield_self(&URI.method(:parse)) .yield_self(&Net::HTTP.method(:get)) .yield_self { |it| JSON.parse(it, symbolize_names: true) } end |