class Auth0::Verifier::Jwks
Attributes
url[R]
Public Class Methods
new(url)
click to toggle source
# File lib/auth0/verifier/jwks.rb, line 14 def initialize(url) @url = url end
Public Instance Methods
keys()
click to toggle source
# File lib/auth0/verifier/jwks.rb, line 18 def keys return unless data jwks_keys = Array(data['keys']) jwks_keys.each_with_object({}) do |key, object| next unless key['alg'] == 'RS256' object[key['kid']] = key_certificate(key) end end
Private Instance Methods
data()
click to toggle source
# File lib/auth0/verifier/jwks.rb, line 36 def data @data ||= begin result = Net::HTTP.get(URI(url)) JSON.parse(result) end end
key_certificate(key)
click to toggle source
# File lib/auth0/verifier/jwks.rb, line 31 def key_certificate(key) decoded = Base64.decode64(key['x5c'][0]) OpenSSL::X509::Certificate.new(decoded).public_key end