Class: OpenIDConnect::RequestObject

Inherits:
ConnectObject show all
Includes:
JWTnizable
Defined in:
lib/openid_connect/request_object.rb,
lib/openid_connect/request_object/id_token.rb,
lib/openid_connect/request_object/claimable.rb,
lib/openid_connect/request_object/user_info.rb

Defined Under Namespace

Modules: Claimable Classes: IdToken, UserInfo

Instance Attribute Summary

Attributes inherited from ConnectObject

#raw_attributes

Class Method Summary collapse

Instance Method Summary collapse

Methods included from JWTnizable

#as_jwt, #to_jwt

Methods inherited from ConnectObject

#all_attributes, all_attributes, #initialize, #require_at_least_one_attributes, #validate!

Constructor Details

This class inherits a constructor from OpenIDConnect::ConnectObject

Class Method Details

.decode(jwt_string, key = nil) ⇒ Object



21
22
23
# File 'lib/openid_connect/request_object.rb', line 21

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

.fetch(request_uri, key = nil) ⇒ Object



25
26
27
28
# File 'lib/openid_connect/request_object.rb', line 25

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

Instance Method Details

#as_json(options = {}) ⇒ Object



16
17
18
# File 'lib/openid_connect/request_object.rb', line 16

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

#id_token=(attributes = {}) ⇒ Object



8
9
10
# File 'lib/openid_connect/request_object.rb', line 8

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

#userinfo=(attributes = {}) ⇒ Object



12
13
14
# File 'lib/openid_connect/request_object.rb', line 12

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