Class: OpenIDConnect::Client::Registrar
- Inherits:
-
Object
- Object
- OpenIDConnect::Client::Registrar
show all
- Includes:
- ActiveModel::Validations, AttrOptional, AttrRequired
- Defined in:
- lib/openid_connect/client/registrar.rb
Defined Under Namespace
Classes: RegistrationFailed
Instance Method Summary
collapse
Constructor Details
#initialize(endpoint, attributes = {}) ⇒ Registrar
Returns a new instance of Registrar.
59
60
61
62
63
64
65
|
# File 'lib/openid_connect/client/registrar.rb', line 59
def initialize(endpoint, attributes = {})
self.endpoint = endpoint
self.initial_access_token = attributes[:initial_access_token]
self.class.metadata_attributes.each do |_attr_|
self.send "#{_attr_}=", attributes[_attr_]
end
end
|
Instance Method Details
#as_json(options = {}) ⇒ Object
86
87
88
89
90
91
92
93
|
# File 'lib/openid_connect/client/registrar.rb', line 86
def as_json(options = {})
validate!
self.class.metadata_attributes.inject({}) do |hash, _attr_|
value = self.send _attr_
hash.merge! _attr_ => value unless value.nil?
hash
end
end
|
#read ⇒ Object
101
102
103
|
# File 'lib/openid_connect/client/registrar.rb', line 101
def read
end
|
#register! ⇒ Object
95
96
97
98
99
|
# File 'lib/openid_connect/client/registrar.rb', line 95
def register!
handle_response do
http_client.post endpoint, to_json, 'Content-Type' => 'application/json'
end
end
|
#sector_identifier ⇒ Object
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
# File 'lib/openid_connect/client/registrar.rb', line 67
def sector_identifier
if valid_uri?(sector_identifier_uri)
URI.parse(sector_identifier_uri).host
else
hosts = redirect_uris.collect do |redirect_uri|
if valid_uri?(redirect_uri, nil)
URI.parse(redirect_uri).host
else
nil
end
end.compact.uniq
if hosts.size == 1
hosts.first
else
nil
end
end
end
|
#validate! ⇒ Object
105
106
107
|
# File 'lib/openid_connect/client/registrar.rb', line 105
def validate!
valid? or raise ValidationFailed.new(self)
end
|