module Rails::Vault::JWT::Decoder
Public Class Methods
decode(token)
click to toggle source
# File lib/rails/vault/jwt/decoder.rb, line 12 def decode(token) HashWithIndifferentAccess.new(::JWT.decode( token, nil, true, { algorithms: ['RS256', 'RS512'], jwks: key_provider.keys(issuer(token)) } )[0]) rescue StandardError => e JWT.config.logger.error "Error while decoding token: #{e}" nil end
issuer(token)
click to toggle source
# File lib/rails/vault/jwt/decoder.rb, line 27 def issuer(token) parts = token.split('.') body = HashWithIndifferentAccess.new(JSON.parse(Base64.decode64(parts[1]))) body[:iss] end
key_provider()
click to toggle source
# File lib/rails/vault/jwt/decoder.rb, line 33 def key_provider @key_provider ||= KeyProvider.new end