Sha256: f5ab503d95a95dc43e190be4fda4d20eb754fed624225277d4dd89db01fcd72b

Contents?: true

Size: 967 Bytes

Versions: 13

Compression:

Stored size: 967 Bytes

Contents

require "openssl"

module OpenIDConnect
  module Discovery
    module Provider
      class Config
        class Resource < SWD::Resource
          undef_required_attributes :principal, :service

          class Expired < SWD::Resource::Expired; end

          def initialize(uri)
            @host = uri.host
            @port = uri.port unless [80, 443].include?(uri.port)
            @path = File.join uri.path, '.well-known/openid-configuration'
            attr_missing!
          end

          def endpoint
            SWD.url_builder.build [nil, host, port, path, nil, nil]
          rescue URI::Error => e
            raise SWD::Exception.new(e.message)
          end

          private

          def to_response_object(hash)
            Response.new(hash)
          end

          def cache_key
            sha256 = OpenSSL::Digest::SHA256.hexdigest host
            "swd:resource:opneid-conf:#{sha256}"
          end
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
openid_connect-2.3.1 lib/openid_connect/discovery/provider/config/resource.rb
openid_connect-2.3.0 lib/openid_connect/discovery/provider/config/resource.rb
openid_connect-2.2.1 lib/openid_connect/discovery/provider/config/resource.rb
openid_connect-2.2.0 lib/openid_connect/discovery/provider/config/resource.rb
openid_connect-2.1.0 lib/openid_connect/discovery/provider/config/resource.rb
openid_connect-2.0.0 lib/openid_connect/discovery/provider/config/resource.rb
openid_connect-2.0.0.rc1 lib/openid_connect/discovery/provider/config/resource.rb
openid_connect-1.4.2 lib/openid_connect/discovery/provider/config/resource.rb
openid_connect-1.4.1 lib/openid_connect/discovery/provider/config/resource.rb
openid_connect-1.4.0 lib/openid_connect/discovery/provider/config/resource.rb
openid_connect-1.3.1 lib/openid_connect/discovery/provider/config/resource.rb
openid_connect-1.3.0 lib/openid_connect/discovery/provider/config/resource.rb
openid_connect-1.2.0 lib/openid_connect/discovery/provider/config/resource.rb