Sha256: 96e295b82234d362b314715ce4e5b3f11615c241e8d391422accab3207880472

Contents?: true

Size: 985 Bytes

Versions: 17

Compression:

Stored size: 985 Bytes

Contents

module OpenIDConnect
  class RequestObject < ConnectObject
    include JWTnizable

    attr_optional :client_id, :response_type, :redirect_uri, :scope, :state, :nonce, :display, :prompt, :userinfo, :id_token
    validate :require_at_least_one_attributes

    def id_token=(attributes = {})
      @id_token = IdToken.new(attributes) if attributes.present?
    end

    def userinfo=(attributes = {})
      @userinfo = UserInfo.new(attributes) if attributes.present?
    end

    def as_json(options = {})
      super.with_indifferent_access
    end

    class << self
      def decode(jwt_string, key = nil)
        new JSON::JWT.decode(jwt_string, key)
      end

      def fetch(request_uri, key = nil)
        jwt_string = OpenIDConnect.http_client.get_content(request_uri)
        decode jwt_string, key
      end
    end
  end
end

require 'openid_connect/request_object/claimable'
require 'openid_connect/request_object/id_token'
require 'openid_connect/request_object/user_info'

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
openid_connect-1.1.7 lib/openid_connect/request_object.rb
openid_connect-1.1.6 lib/openid_connect/request_object.rb
openid_connect-1.1.5 lib/openid_connect/request_object.rb
openid_connect-1.1.4 lib/openid_connect/request_object.rb
openid_connect-1.1.3 lib/openid_connect/request_object.rb
openid_connect-1.1.2 lib/openid_connect/request_object.rb
openid_connect-1.1.1 lib/openid_connect/request_object.rb
openid_connect-1.1.0 lib/openid_connect/request_object.rb
openid_connect-1.0.3 lib/openid_connect/request_object.rb
openid_connect-1.0.2 lib/openid_connect/request_object.rb
openid_connect-1.0.1 lib/openid_connect/request_object.rb
openid_connect-1.0.0 lib/openid_connect/request_object.rb
openid_connect-0.12.0 lib/openid_connect/request_object.rb
openid_connect-0.11.2 lib/openid_connect/request_object.rb
openid_connect-0.11.1 lib/openid_connect/request_object.rb
openid_connect-0.11.0 lib/openid_connect/request_object.rb
openid_connect-0.10.0 lib/openid_connect/request_object.rb