openid_connect 0.0.15 → 0.0.16
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/Gemfile.lock +3 -3
- data/VERSION +1 -1
- data/lib/rack/oauth2/server/authorize/extension/code_and_id_token.rb +50 -0
- data/lib/rack/oauth2/server/authorize/extension/id_token.rb +50 -0
- data/lib/rack/oauth2/server/authorize/extension/id_token_and_token.rb +35 -0
- data/lib/rack/oauth2/server/id_token_response.rb +5 -1
- data/openid_connect.gemspec +1 -1
- data/spec/openid_connect/discovery/principal/email_spec.rb +6 -1
- data/spec/openid_connect/discovery/provider_spec.rb +4 -1
- data/spec/rack/oauth2/server/authorize/code_and_token_spec.rb +1 -1
- data/spec/rack/oauth2/server/authorize/extension/code_and_id_token_spec.rb +63 -0
- data/spec/rack/oauth2/server/authorize/extension/id_token_and_token_spec.rb +63 -0
- data/spec/rack/oauth2/server/authorize/extension/id_token_spec.rb +59 -0
- data/spec/rack/oauth2/server/authorize/token_spec.rb +1 -1
- data/spec/rack/oauth2/server/token/authorization_code_spec.rb +1 -1
- data/spec/rack/oauth2/server/token/refresh_token_spec.rb +1 -1
- metadata +12 -3
data/Gemfile.lock
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
openid_connect (0.0.
|
|
4
|
+
openid_connect (0.0.15)
|
|
5
5
|
activemodel (>= 3)
|
|
6
6
|
attr_required (>= 0.0.3)
|
|
7
7
|
json (>= 1.4.3)
|
|
8
8
|
jwt (>= 0.1.3)
|
|
9
9
|
rack-oauth2 (>= 0.9)
|
|
10
|
-
swd (>= 0.0.
|
|
10
|
+
swd (>= 0.0.4)
|
|
11
11
|
tzinfo
|
|
12
12
|
validate_email
|
|
13
13
|
validate_url
|
|
@@ -54,7 +54,7 @@ GEM
|
|
|
54
54
|
rspec-expectations (2.6.0)
|
|
55
55
|
diff-lcs (~> 1.1.2)
|
|
56
56
|
rspec-mocks (2.6.0)
|
|
57
|
-
swd (0.0.
|
|
57
|
+
swd (0.0.4)
|
|
58
58
|
activesupport (>= 3)
|
|
59
59
|
attr_required (>= 0.0.3)
|
|
60
60
|
httpclient (>= 2.2.1)
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.0.
|
|
1
|
+
0.0.16
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
module Rack
|
|
2
|
+
module OAuth2
|
|
3
|
+
module Server
|
|
4
|
+
class Authorize
|
|
5
|
+
module Extension
|
|
6
|
+
class CodeAndIdToken < Abstract::Handler
|
|
7
|
+
class << self
|
|
8
|
+
def response_type_for?(response_type)
|
|
9
|
+
response_type.split.sort == ['code', 'id_token']
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call(env)
|
|
14
|
+
@request = Request.new env
|
|
15
|
+
@response = Response.new request
|
|
16
|
+
super
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
class Request < Authorize::Code::Request
|
|
20
|
+
def initialize(env)
|
|
21
|
+
super
|
|
22
|
+
@response_type = [:code, :id_token]
|
|
23
|
+
attr_missing!
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
class Response < Authorize::Code::Response
|
|
28
|
+
include IdTokenResponse
|
|
29
|
+
attr_required :id_token, :private_key
|
|
30
|
+
|
|
31
|
+
def protocol_params
|
|
32
|
+
protocol_params_without_id_token
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def redirect_uri_with_credentials_with_id_token
|
|
36
|
+
_redirect_uri_ = URI.parse redirect_uri_with_credentials_without_id_token
|
|
37
|
+
_redirect_uri_.fragment = {
|
|
38
|
+
:id_token => jwt_string
|
|
39
|
+
}.to_query
|
|
40
|
+
_redirect_uri_.to_s
|
|
41
|
+
end
|
|
42
|
+
alias_method_chain :redirect_uri_with_credentials, :id_token
|
|
43
|
+
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
module Rack
|
|
2
|
+
module OAuth2
|
|
3
|
+
module Server
|
|
4
|
+
class Authorize
|
|
5
|
+
module Extension
|
|
6
|
+
class IdToken < Abstract::Handler
|
|
7
|
+
class << self
|
|
8
|
+
def response_type_for?(response_type)
|
|
9
|
+
response_type == 'id_token'
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call(env)
|
|
14
|
+
@request = Request.new env
|
|
15
|
+
@response = Response.new request
|
|
16
|
+
super
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
class Request < Authorize::Request
|
|
20
|
+
def initialize(env)
|
|
21
|
+
super
|
|
22
|
+
@response_type = :id_token
|
|
23
|
+
attr_missing!
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def error_params_location
|
|
27
|
+
:fragment
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
class Response < Authorize::Response
|
|
32
|
+
include IdTokenResponse
|
|
33
|
+
attr_required :id_token, :private_key
|
|
34
|
+
|
|
35
|
+
def protocol_params_location
|
|
36
|
+
:fragment
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def protocol_params
|
|
40
|
+
super.merge(
|
|
41
|
+
:id_token => jwt_string
|
|
42
|
+
)
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
module Rack
|
|
2
|
+
module OAuth2
|
|
3
|
+
module Server
|
|
4
|
+
class Authorize
|
|
5
|
+
module Extension
|
|
6
|
+
class IdTokenAndToken < Abstract::Handler
|
|
7
|
+
class << self
|
|
8
|
+
def response_type_for?(response_type)
|
|
9
|
+
response_type.split.sort == ['id_token', 'token']
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call(env)
|
|
14
|
+
@request = Request.new env
|
|
15
|
+
@response = Response.new request
|
|
16
|
+
super
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
class Request < Authorize::Token::Request
|
|
20
|
+
def initialize(env)
|
|
21
|
+
super
|
|
22
|
+
@response_type = [:id_token, :token]
|
|
23
|
+
attr_missing!
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
class Response < Authorize::Token::Response
|
|
28
|
+
attr_required :id_token, :private_key
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -5,7 +5,7 @@ module Rack::OAuth2::Server
|
|
|
5
5
|
klass.class_eval do
|
|
6
6
|
def jwt_string
|
|
7
7
|
if id_token.is_a? OpenIDConnect::ResponseObject::IdToken
|
|
8
|
-
raise AttrRequired::AttrMissing.new('private_key
|
|
8
|
+
raise AttrRequired::AttrMissing.new("'private_key' required.") unless private_key
|
|
9
9
|
id_token.to_jwt private_key
|
|
10
10
|
else
|
|
11
11
|
id_token
|
|
@@ -24,3 +24,7 @@ module Rack::OAuth2::Server
|
|
|
24
24
|
Token::Response.send :include, IdTokenResponse
|
|
25
25
|
Authorize::Token::Response.send :include, IdTokenResponse
|
|
26
26
|
end
|
|
27
|
+
|
|
28
|
+
require 'rack/oauth2/server/authorize/extension/code_and_id_token'
|
|
29
|
+
require 'rack/oauth2/server/authorize/extension/id_token'
|
|
30
|
+
require 'rack/oauth2/server/authorize/extension/id_token_and_token'
|
data/openid_connect.gemspec
CHANGED
|
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
|
|
|
17
17
|
s.add_runtime_dependency "validate_url"
|
|
18
18
|
s.add_runtime_dependency "validate_email"
|
|
19
19
|
s.add_runtime_dependency "jwt", ">= 0.1.3"
|
|
20
|
-
s.add_runtime_dependency "swd", ">= 0.0.
|
|
20
|
+
s.add_runtime_dependency "swd", ">= 0.0.4"
|
|
21
21
|
s.add_runtime_dependency "rack-oauth2", ">= 0.9"
|
|
22
22
|
s.add_development_dependency "rake", ">= 0.8"
|
|
23
23
|
s.add_development_dependency "rcov", ">= 0.9"
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
2
|
|
|
3
3
|
describe OpenIDConnect::Discovery::Principal::Email do
|
|
4
|
-
|
|
4
|
+
subject { email }
|
|
5
|
+
let(:email) { OpenIDConnect::Discovery::Principal::Email.new identifier }
|
|
6
|
+
let(:identifier) { 'nov@server.example.com' }
|
|
7
|
+
|
|
8
|
+
its(:identifier) { should == identifier }
|
|
9
|
+
its(:host) { should == 'server.example.com' }
|
|
5
10
|
end
|
|
@@ -52,7 +52,10 @@ describe OpenIDConnect::Discovery::Provider do
|
|
|
52
52
|
end
|
|
53
53
|
|
|
54
54
|
context 'when Email is given' do
|
|
55
|
-
|
|
55
|
+
let(:identifier) { "nov@#{host}" }
|
|
56
|
+
let(:host) { 'server.example.com' }
|
|
57
|
+
let(:principal) { identifier }
|
|
58
|
+
it_behaves_like :discover_provider
|
|
56
59
|
end
|
|
57
60
|
|
|
58
61
|
end
|
|
@@ -47,7 +47,7 @@ describe Rack::OAuth2::Server::Authorize::Extension::CodeAndToken do
|
|
|
47
47
|
end
|
|
48
48
|
end
|
|
49
49
|
it do
|
|
50
|
-
expect { response }.should raise_error AttrRequired::AttrMissing, 'private_key
|
|
50
|
+
expect { response }.should raise_error AttrRequired::AttrMissing, "'private_key' required."
|
|
51
51
|
end
|
|
52
52
|
end
|
|
53
53
|
end
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Rack::OAuth2::Server::Authorize::Extension::CodeAndIdToken do
|
|
4
|
+
subject { response }
|
|
5
|
+
let(:request) { Rack::MockRequest.new app }
|
|
6
|
+
let(:response) { request.get("/?response_type=code%20id_token&client_id=client") }
|
|
7
|
+
let(:redirect_uri) { 'http://client.example.com/callback' }
|
|
8
|
+
let(:code) { 'authorization_code' }
|
|
9
|
+
let :id_token do
|
|
10
|
+
OpenIDConnect::ResponseObject::IdToken.new(
|
|
11
|
+
:iss => 'https://server.example.com',
|
|
12
|
+
:user_id => 'user_id',
|
|
13
|
+
:aud => 'client_id',
|
|
14
|
+
:exp => 1313424327
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
context "when id_token is given" do
|
|
19
|
+
let :app do
|
|
20
|
+
Rack::OAuth2::Server::Authorize.new do |request, response|
|
|
21
|
+
response.redirect_uri = redirect_uri
|
|
22
|
+
response.code = code
|
|
23
|
+
response.id_token = id_token
|
|
24
|
+
response.private_key = private_key
|
|
25
|
+
response.approve!
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
its(:status) { should == 302 }
|
|
29
|
+
its(:location) { should == "#{redirect_uri}?code=#{code}#id_token=#{id_token.to_jwt(private_key)}" }
|
|
30
|
+
|
|
31
|
+
context 'when id_token is String' do
|
|
32
|
+
let(:id_token) { 'id_token' }
|
|
33
|
+
its(:location) { should == "#{redirect_uri}?code=#{code}#id_token=id_token" }
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
context 'when private_key is missing' do
|
|
37
|
+
let :app do
|
|
38
|
+
Rack::OAuth2::Server::Authorize.new do |request, response|
|
|
39
|
+
response.redirect_uri = redirect_uri
|
|
40
|
+
response.code = code
|
|
41
|
+
response.id_token = id_token
|
|
42
|
+
response.approve!
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
it do
|
|
46
|
+
expect { response }.should raise_error AttrRequired::AttrMissing, "'private_key' required."
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
context "otherwise" do
|
|
52
|
+
let :app do
|
|
53
|
+
Rack::OAuth2::Server::Authorize.new do |request, response|
|
|
54
|
+
response.redirect_uri = redirect_uri
|
|
55
|
+
response.code = code
|
|
56
|
+
response.approve!
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
it do
|
|
60
|
+
expect { response }.should raise_error AttrRequired::AttrMissing, "'id_token', 'private_key' required."
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Rack::OAuth2::Server::Authorize::Extension::IdTokenAndToken do
|
|
4
|
+
subject { response }
|
|
5
|
+
let(:request) { Rack::MockRequest.new app }
|
|
6
|
+
let(:response) { request.get("/?response_type=token%20id_token&client_id=client") }
|
|
7
|
+
let(:redirect_uri) { 'http://client.example.com/callback' }
|
|
8
|
+
let(:bearer_token) { Rack::OAuth2::AccessToken::Bearer.new(:access_token => 'access_token') }
|
|
9
|
+
let :id_token do
|
|
10
|
+
OpenIDConnect::ResponseObject::IdToken.new(
|
|
11
|
+
:iss => 'https://server.example.com',
|
|
12
|
+
:user_id => 'user_id',
|
|
13
|
+
:aud => 'client_id',
|
|
14
|
+
:exp => 1313424327
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
context "when id_token is given" do
|
|
19
|
+
let :app do
|
|
20
|
+
Rack::OAuth2::Server::Authorize.new do |request, response|
|
|
21
|
+
response.redirect_uri = redirect_uri
|
|
22
|
+
response.access_token = bearer_token
|
|
23
|
+
response.id_token = id_token
|
|
24
|
+
response.private_key = private_key
|
|
25
|
+
response.approve!
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
its(:status) { should == 302 }
|
|
29
|
+
its(:location) { should == "#{redirect_uri}#access_token=access_token&id_token=#{id_token.to_jwt(private_key)}&token_type=bearer" }
|
|
30
|
+
|
|
31
|
+
context 'when id_token is String' do
|
|
32
|
+
let(:id_token) { 'id_token' }
|
|
33
|
+
its(:location) { should == "#{redirect_uri}#access_token=access_token&id_token=id_token&token_type=bearer" }
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
context 'when private_key is missing' do
|
|
37
|
+
let :app do
|
|
38
|
+
Rack::OAuth2::Server::Authorize.new do |request, response|
|
|
39
|
+
response.redirect_uri = redirect_uri
|
|
40
|
+
response.access_token = bearer_token
|
|
41
|
+
response.id_token = id_token
|
|
42
|
+
response.approve!
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
it do
|
|
46
|
+
expect { response }.should raise_error AttrRequired::AttrMissing, "'private_key' required."
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
context "otherwise" do
|
|
52
|
+
let :app do
|
|
53
|
+
Rack::OAuth2::Server::Authorize.new do |request, response|
|
|
54
|
+
response.redirect_uri = redirect_uri
|
|
55
|
+
response.access_token = bearer_token
|
|
56
|
+
response.approve!
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
it do
|
|
60
|
+
expect { response }.should raise_error AttrRequired::AttrMissing, "'id_token', 'private_key' required."
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Rack::OAuth2::Server::Authorize::Extension::IdToken do
|
|
4
|
+
subject { response }
|
|
5
|
+
let(:request) { Rack::MockRequest.new app }
|
|
6
|
+
let(:response) { request.get("/?response_type=id_token&client_id=client") }
|
|
7
|
+
let(:redirect_uri) { 'http://client.example.com/callback' }
|
|
8
|
+
let :id_token do
|
|
9
|
+
OpenIDConnect::ResponseObject::IdToken.new(
|
|
10
|
+
:iss => 'https://server.example.com',
|
|
11
|
+
:user_id => 'user_id',
|
|
12
|
+
:aud => 'client_id',
|
|
13
|
+
:exp => 1313424327
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
context "when id_token is given" do
|
|
18
|
+
let :app do
|
|
19
|
+
Rack::OAuth2::Server::Authorize.new do |request, response|
|
|
20
|
+
response.redirect_uri = redirect_uri
|
|
21
|
+
response.id_token = id_token
|
|
22
|
+
response.private_key = private_key
|
|
23
|
+
response.approve!
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
its(:status) { should == 302 }
|
|
27
|
+
its(:location) { should == "#{redirect_uri}#id_token=#{id_token.to_jwt(private_key)}" }
|
|
28
|
+
|
|
29
|
+
context 'when id_token is String' do
|
|
30
|
+
let(:id_token) { 'id_token' }
|
|
31
|
+
its(:location) { should == "#{redirect_uri}#id_token=id_token" }
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
context 'when private_key is missing' do
|
|
35
|
+
let :app do
|
|
36
|
+
Rack::OAuth2::Server::Authorize.new do |request, response|
|
|
37
|
+
response.redirect_uri = redirect_uri
|
|
38
|
+
response.id_token = id_token
|
|
39
|
+
response.approve!
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
it do
|
|
43
|
+
expect { response }.should raise_error AttrRequired::AttrMissing, "'private_key' required."
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
context "otherwise" do
|
|
49
|
+
let :app do
|
|
50
|
+
Rack::OAuth2::Server::Authorize.new do |request, response|
|
|
51
|
+
response.redirect_uri = redirect_uri
|
|
52
|
+
response.approve!
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
it do
|
|
56
|
+
expect { response }.should raise_error AttrRequired::AttrMissing, "'id_token', 'private_key' required."
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
@@ -43,7 +43,7 @@ describe Rack::OAuth2::Server::Authorize::Token do
|
|
|
43
43
|
end
|
|
44
44
|
end
|
|
45
45
|
it do
|
|
46
|
-
expect { response }.should raise_error AttrRequired::AttrMissing, 'private_key
|
|
46
|
+
expect { response }.should raise_error AttrRequired::AttrMissing, "'private_key' required."
|
|
47
47
|
end
|
|
48
48
|
end
|
|
49
49
|
end
|
|
@@ -45,7 +45,7 @@ describe Rack::OAuth2::Server::Token::AuthorizationCode do
|
|
|
45
45
|
end
|
|
46
46
|
end
|
|
47
47
|
it do
|
|
48
|
-
expect { response }.should raise_error AttrRequired::AttrMissing, 'private_key
|
|
48
|
+
expect { response }.should raise_error AttrRequired::AttrMissing, "'private_key' required."
|
|
49
49
|
end
|
|
50
50
|
end
|
|
51
51
|
end
|
|
@@ -44,7 +44,7 @@ describe Rack::OAuth2::Server::Token::RefreshToken do
|
|
|
44
44
|
end
|
|
45
45
|
end
|
|
46
46
|
it do
|
|
47
|
-
expect { response }.should raise_error AttrRequired::AttrMissing, 'private_key
|
|
47
|
+
expect { response }.should raise_error AttrRequired::AttrMissing, "'private_key' required."
|
|
48
48
|
end
|
|
49
49
|
end
|
|
50
50
|
end
|
metadata
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: openid_connect
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease:
|
|
5
|
-
version: 0.0.
|
|
5
|
+
version: 0.0.16
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
8
8
|
- nov matake
|
|
@@ -10,7 +10,7 @@ autorequire:
|
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
12
|
|
|
13
|
-
date: 2011-08-
|
|
13
|
+
date: 2011-08-24 00:00:00 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: json
|
|
@@ -97,7 +97,7 @@ dependencies:
|
|
|
97
97
|
requirements:
|
|
98
98
|
- - ">="
|
|
99
99
|
- !ruby/object:Gem::Version
|
|
100
|
-
version: 0.0.
|
|
100
|
+
version: 0.0.4
|
|
101
101
|
type: :runtime
|
|
102
102
|
version_requirements: *id008
|
|
103
103
|
- !ruby/object:Gem::Dependency
|
|
@@ -194,6 +194,9 @@ files:
|
|
|
194
194
|
- lib/openid_connect/server.rb
|
|
195
195
|
- lib/openid_connect/server/id_token.rb
|
|
196
196
|
- lib/openid_connect/server/id_token/error.rb
|
|
197
|
+
- lib/rack/oauth2/server/authorize/extension/code_and_id_token.rb
|
|
198
|
+
- lib/rack/oauth2/server/authorize/extension/id_token.rb
|
|
199
|
+
- lib/rack/oauth2/server/authorize/extension/id_token_and_token.rb
|
|
197
200
|
- lib/rack/oauth2/server/id_token_response.rb
|
|
198
201
|
- openid_connect.gemspec
|
|
199
202
|
- spec/helpers/webmock_helper.rb
|
|
@@ -221,6 +224,9 @@ files:
|
|
|
221
224
|
- spec/openid_connect/response_object_spec.rb
|
|
222
225
|
- spec/openid_connect/server/id_token_spec.rb
|
|
223
226
|
- spec/rack/oauth2/server/authorize/code_and_token_spec.rb
|
|
227
|
+
- spec/rack/oauth2/server/authorize/extension/code_and_id_token_spec.rb
|
|
228
|
+
- spec/rack/oauth2/server/authorize/extension/id_token_and_token_spec.rb
|
|
229
|
+
- spec/rack/oauth2/server/authorize/extension/id_token_spec.rb
|
|
224
230
|
- spec/rack/oauth2/server/authorize/token_spec.rb
|
|
225
231
|
- spec/rack/oauth2/server/token/authorization_code_spec.rb
|
|
226
232
|
- spec/rack/oauth2/server/token/refresh_token_spec.rb
|
|
@@ -278,6 +284,9 @@ test_files:
|
|
|
278
284
|
- spec/openid_connect/response_object_spec.rb
|
|
279
285
|
- spec/openid_connect/server/id_token_spec.rb
|
|
280
286
|
- spec/rack/oauth2/server/authorize/code_and_token_spec.rb
|
|
287
|
+
- spec/rack/oauth2/server/authorize/extension/code_and_id_token_spec.rb
|
|
288
|
+
- spec/rack/oauth2/server/authorize/extension/id_token_and_token_spec.rb
|
|
289
|
+
- spec/rack/oauth2/server/authorize/extension/id_token_spec.rb
|
|
281
290
|
- spec/rack/oauth2/server/authorize/token_spec.rb
|
|
282
291
|
- spec/rack/oauth2/server/token/authorization_code_spec.rb
|
|
283
292
|
- spec/rack/oauth2/server/token/refresh_token_spec.rb
|