module OpenIDConnect::Discovery::Provider

Public Class Methods

discover!(identifier) click to toggle source
# File lib/openid_connect/discovery/provider.rb, line 12
def self.discover!(identifier)
  resource = case identifier
  when /^acct:/, /https?:\/\//
    identifier
  when /@/
    "acct:#{identifier}"
  else
    "https://#{identifier}"
  end
  response = WebFinger.discover!(
    resource,
    rel: Issuer::REL_VALUE
  )
  response.extend Issuer
  response
rescue WebFinger::Exception => e
  raise DiscoveryFailed.new(e.message)
end