module Oidc::Discovery::Provider

def self.discover!(identifier)

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