Sha256: d149589f4e844bd34c07f68e3cbb8b617c1752dc5e9b874e2aaac4ea08634f88

Contents?: true

Size: 665 Bytes

Versions: 4

Compression:

Stored size: 665 Bytes

Contents

module OpenIDConnect
  module Discovery
    module Provider
      module Issuer
        def issuer
          self.link_for(REL_VALUE)[:href]
        end
      end

      def self.discover!(identifier)
        resource = case identifier
        when /^acct:/, /@/, /^https?:\/\//
          identifier
        else
          "https://#{identifier}"
        end
        response = WebFinger.discover!(
          resource,
          rel: REL_VALUE
        )
        response.extend Issuer
        response
      rescue WebFinger::Exception => e
        raise DiscoveryFailed.new(e.message)
      end
    end
  end
end

require 'openid_connect/discovery/provider/config'

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
openid_connect-0.6.1 lib/openid_connect/discovery/provider.rb
openid_connect-0.6.0 lib/openid_connect/discovery/provider.rb
openid_connect-0.5.1 lib/openid_connect/discovery/provider.rb
openid_connect-0.5.0 lib/openid_connect/discovery/provider.rb