test_openid_connect 0.1.6 → 0.1.10
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/omniauth/strategies/test_openid_connect.rb +41 -37
- data/test_openid_connect.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d30f9314ceaddc64f96e763cefc5b99d772a8ff1ea8c6881948343d0bb5558cf
|
4
|
+
data.tar.gz: c5505502afdade1fd8077ee9395b845c15a69bb9b17efa5b58a07432499c1d89
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 448589919ef909ac0cff158fa02743a878675a776a3f988a586bf4261d9c2519da79d18adde07a93988d480797462b0d4635db11bcfef98a33da931e51ebffce
|
7
|
+
data.tar.gz: f0397dcae62234e04eccaf2278c5c062e7920acf1ab3db2c7321f454b8b8621bd2e67adb0f77aa05b982227813c2262f3d619784b53659335096b8bb5a50b32b
|
data/Gemfile.lock
CHANGED
@@ -13,9 +13,9 @@ module ::OmniAuth
|
|
13
13
|
option :scope, "openid"
|
14
14
|
option :discovery, true
|
15
15
|
option :use_userinfo, true
|
16
|
-
option :cache, lambda { |key, &blk| blk.call } # Default no-op cache
|
17
|
-
option :error_handler, lambda { |error, message| nil } # Default no-op handler
|
18
|
-
option :verbose_logger, lambda { |message| nil } # Default no-op handler
|
16
|
+
# option :cache, lambda { |key, &blk| blk.call } # Default no-op cache
|
17
|
+
# option :error_handler, lambda { |error, message| nil } # Default no-op handler
|
18
|
+
# option :verbose_logger, lambda { |message| nil } # Default no-op handler
|
19
19
|
option :passthrough_authorize_options, [:p]
|
20
20
|
option :passthrough_token_options, [:p]
|
21
21
|
|
@@ -27,17 +27,17 @@ module ::OmniAuth
|
|
27
27
|
userinfo_endpoint: nil,
|
28
28
|
auth_scheme: :basic_auth
|
29
29
|
|
30
|
-
def verbose_log(message)
|
31
|
-
|
32
|
-
end
|
30
|
+
# def verbose_log(message)
|
31
|
+
# options.verbose_logger.call(message)
|
32
|
+
# end
|
33
33
|
|
34
34
|
def discover!
|
35
|
-
verbose_log("Fetching discovery document from #{options[:client_options][:discovery_document]}")
|
36
|
-
discovery_document =
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
35
|
+
# verbose_log("Fetching discovery document from #{options[:client_options][:discovery_document]}")
|
36
|
+
discovery_document = client.request(:get, options[:client_options][:discovery_document], parse: :json).parsed
|
37
|
+
# verbose_log("Discovery document loaded\n\n#{discovery_document.to_yaml}")
|
38
|
+
puts "****************"
|
39
|
+
puts discovery_document
|
40
|
+
puts "****************"
|
41
41
|
discovery_params = {
|
42
42
|
authorize_url: "authorization_endpoint",
|
43
43
|
token_url: "token_endpoint",
|
@@ -64,6 +64,10 @@ module ::OmniAuth
|
|
64
64
|
super
|
65
65
|
end
|
66
66
|
|
67
|
+
# def request_phase
|
68
|
+
# redirect client.auth_code.authorize_url({:redirect_uri => callback_url}.merge(options.authorize_params))
|
69
|
+
# end
|
70
|
+
|
67
71
|
def authorize_params
|
68
72
|
super.tap do |params|
|
69
73
|
options[:passthrough_authorize_options].each do |k|
|
@@ -88,28 +92,28 @@ module ::OmniAuth
|
|
88
92
|
super.merge(params)
|
89
93
|
end
|
90
94
|
|
91
|
-
def callback_phase
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
end
|
95
|
+
# def callback_phase
|
96
|
+
# if request.params["error"] && request.params["error_description"]
|
97
|
+
# # verbose_log("Error handled, redirecting\n\n#{response.to_yaml}")
|
98
|
+
# return redirect(response)
|
99
|
+
# end
|
100
|
+
|
101
|
+
# begin
|
102
|
+
# discover! if options[:discovery]
|
103
|
+
|
104
|
+
# oauth2_callback_phase = super
|
105
|
+
# return oauth2_callback_phase if env['omniauth.error']
|
106
|
+
|
107
|
+
# if id_token_info["nonce"].nil? || id_token_info["nonce"].empty? || id_token_info["nonce"] != session.delete("omniauth.nonce")
|
108
|
+
# return fail!(:csrf_detected, CallbackError.new(:csrf_detected, "CSRF detected"))
|
109
|
+
# end
|
110
|
+
# oauth2_callback_phase
|
111
|
+
# rescue ::OmniAuth::OpenIDConnect::DiscoveryError => e
|
112
|
+
# fail!(:openid_connect_discovery_error, e)
|
113
|
+
# rescue JWT::DecodeError => e
|
114
|
+
# fail!(:jwt_decode_failed, e)
|
115
|
+
# end
|
116
|
+
# end
|
113
117
|
|
114
118
|
def id_token_info
|
115
119
|
# Verify the claims in the JWT
|
@@ -117,7 +121,7 @@ module ::OmniAuth
|
|
117
121
|
# token was acquired via a direct server-server connection to the issuer
|
118
122
|
@id_token_info ||= begin
|
119
123
|
decoded = JWT.decode(access_token['id_token'], nil, false).first
|
120
|
-
verbose_log("Loaded JWT\n\n#{decoded.to_yaml}")
|
124
|
+
# verbose_log("Loaded JWT\n\n#{decoded.to_yaml}")
|
121
125
|
JWT::Verify.verify_claims(decoded,
|
122
126
|
verify_iss: true,
|
123
127
|
iss: options[:client_options][:site],
|
@@ -129,7 +133,7 @@ module ::OmniAuth
|
|
129
133
|
verify_iat: false,
|
130
134
|
verify_jti: false
|
131
135
|
)
|
132
|
-
verbose_log("Verified JWT\n\n#{decoded.to_yaml}")
|
136
|
+
# verbose_log("Verified JWT\n\n#{decoded.to_yaml}")
|
133
137
|
|
134
138
|
decoded
|
135
139
|
end
|
@@ -138,7 +142,7 @@ module ::OmniAuth
|
|
138
142
|
def userinfo_response
|
139
143
|
@raw_info ||= begin
|
140
144
|
info = access_token.get(options[:client_options][:userinfo_endpoint]).parsed
|
141
|
-
verbose_log("Fetched userinfo response\n\n#{info.to_yaml}")
|
145
|
+
# verbose_log("Fetched userinfo response\n\n#{info.to_yaml}")
|
142
146
|
info
|
143
147
|
end
|
144
148
|
|
data/test_openid_connect.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: test_openid_connect
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Burak Akça
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-09-01 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: 'desc desc desc desc '
|
14
14
|
email:
|