class JsonWebToken
Public Class Methods
configuration()
click to toggle source
# File lib/auth0_current_user/json_web_token.rb, line 40 def self.configuration @configuration ||= Auth0CurrentUser::Configuration.new end
get_claim(token, claim_name)
click to toggle source
# File lib/auth0_current_user/json_web_token.rb, line 36 def self.get_claim(token, claim_name) JWT.decode(token, nil, false).first[0][claim_name] end
jwks_hash()
click to toggle source
# File lib/auth0_current_user/json_web_token.rb, line 20 def self.jwks_hash jwks_raw = Net::HTTP.get URI("#{configuration.auth0_domain}/.well-known/jwks.json") jwks_keys = Array(JSON.parse(jwks_raw)['keys']) Hash[ jwks_keys .map do |k| [ k['kid'], OpenSSL::X509::Certificate.new( Base64.decode64(k['x5c'].first) ).public_key ] end ] end
verify(token)
click to toggle source
# File lib/auth0_current_user/json_web_token.rb, line 8 def self.verify(token) JWT.decode(token, nil, true, # Verify the signature of this token algorithms: 'RS256', iss: configuration.auth0_domain, verify_iss: true, aud: configuration.auth0_audience, verify_aud: true) do |header| jwks_hash[header['kid']] end end