class AzureJwtAuth::Provider
Attributes
config[R]
config_uri[R]
keys[R]
uid[R]
validations[R]
Public Class Methods
new(uid, config_uri, validations={})
click to toggle source
# File lib/azure_jwt_auth/provider.rb, line 9 def initialize(uid, config_uri, validations={}) @uid = uid @config_uri = config_uri @validations = validations begin @config = JSON.parse(Net::HTTP.get(URI(config_uri))) rescue JSON::ParserError raise InvalidProviderConfig, "config_uri response is not valid for provider: #{uid}" end load_keys end
Public Instance Methods
load_keys()
click to toggle source
# File lib/azure_jwt_auth/provider.rb, line 23 def load_keys uri = URI(@config['jwks_uri']) keys = JSON.parse(Net::HTTP.get(uri))['keys'] @keys = {} keys.each do |key| cert = RsaPem.from(key['n'], key['e']) rsa = OpenSSL::PKey::RSA.new(cert) @keys[key['kid']] = rsa end end