openid_connect 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.3
|
@@ -12,13 +12,15 @@ module OpenIDConnect
|
|
12
12
|
if claims.present?
|
13
13
|
_claims_ = {}
|
14
14
|
claims.each do |key, value|
|
15
|
-
_claims_[key] = case value
|
16
|
-
when
|
15
|
+
_claims_[key] = case value.to_s
|
16
|
+
when 'optional'
|
17
17
|
{
|
18
|
-
:
|
18
|
+
:essential => false
|
19
|
+
}
|
20
|
+
when 'required', 'essential'
|
21
|
+
{
|
22
|
+
:essential => true
|
19
23
|
}
|
20
|
-
when :required, 'required'
|
21
|
-
nil
|
22
24
|
else
|
23
25
|
value
|
24
26
|
end
|
@@ -6,7 +6,7 @@ module OpenIDConnect
|
|
6
6
|
class InvalidToken < Exception; end
|
7
7
|
|
8
8
|
attr_required :iss, :user_id, :aud, :exp, :iat
|
9
|
-
attr_optional :acr, :auth_time, :nonce, :at_hash
|
9
|
+
attr_optional :acr, :auth_time, :nonce, :at_hash, :c_hash
|
10
10
|
|
11
11
|
def initialize(attributes = {})
|
12
12
|
super
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Rack
|
2
|
+
module OAuth2
|
3
|
+
module Server
|
4
|
+
class Authorize
|
5
|
+
module ErrorWithConnectExt
|
6
|
+
DEFAULT_DESCRIPTION = {
|
7
|
+
:invalid_redirect_uri => 'The redirect_uri in the request does not match any of pre-registered redirect_uris.',
|
8
|
+
:interaction_required => 'End-User interaction required.',
|
9
|
+
:login_required => 'End-User authentication required.',
|
10
|
+
:session_selection_required => 'The End-User is required to select a session at the Authorization Server.',
|
11
|
+
:consent_required => 'End-User consent required.',
|
12
|
+
:invalid_request_uri => 'The request_uri in the request returns an error or invalid data.',
|
13
|
+
:invalid_openid_request_object => 'The request parameter contains an invalid OpenID Request Object.'
|
14
|
+
}
|
15
|
+
|
16
|
+
def self.included(klass)
|
17
|
+
DEFAULT_DESCRIPTION.each do |error, default_description|
|
18
|
+
# NOTE:
|
19
|
+
# Connect Message spec doesn't say anything about HTTP status code for each error code.
|
20
|
+
# It probably means "use 400".
|
21
|
+
error_method = :bad_request!
|
22
|
+
klass.class_eval <<-ERROR
|
23
|
+
def #{error}!(description = "#{default_description}", options = {})
|
24
|
+
#{error_method} :#{error}, description, options
|
25
|
+
end
|
26
|
+
ERROR
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
Request.send :include, ErrorWithConnectExt
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
class Rack::OAuth2::Server::Authorize
|
2
2
|
module RequestWithConnectParams
|
3
|
-
CONNECT_EXT_PARAMS = [:nonce, :display, :prompt, :request, :request_uri]
|
3
|
+
CONNECT_EXT_PARAMS = [:nonce, :display, :prompt, :request, :request_uri, :id_token]
|
4
4
|
|
5
5
|
def self.included(klass)
|
6
6
|
klass.send :attr_optional, *CONNECT_EXT_PARAMS
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openid_connect
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-07-
|
12
|
+
date: 2012-07-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|
@@ -261,6 +261,7 @@ files:
|
|
261
261
|
- lib/openid_connect/response_object/user_info.rb
|
262
262
|
- lib/openid_connect/response_object/user_info/open_id.rb
|
263
263
|
- lib/openid_connect/response_object/user_info/open_id/address.rb
|
264
|
+
- lib/rack/oauth2/server/authorize/error_with_connect_ext.rb
|
264
265
|
- lib/rack/oauth2/server/authorize/extension/code_and_id_token.rb
|
265
266
|
- lib/rack/oauth2/server/authorize/extension/code_and_id_token_and_token.rb
|
266
267
|
- lib/rack/oauth2/server/authorize/extension/id_token.rb
|