omniauth_openid_connect 0.3.4 → 0.3.5
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c030571ea9bcbd861ebe4d8455282c0b1b34c17af77294660b1c0123ed976ab
|
4
|
+
data.tar.gz: 2f4b2a8cd026797260f36e358ac7678a6827486889f23aab325d08e0d390b649
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: afdf6363a18b019939a88abc612be51b20780fdeae2f1f300ef5e9df5a1002a97812b17360939e1ba9bb0b3bf4e54471e3da0ec6de858ac2afa40df15fdfb23d
|
7
|
+
data.tar.gz: e449bd59e5e75cfcce12ae27e5072fb8e3fe821e969a510856bbad0ed2553252345826ed16e97ecdbe1405a8c4be275195f759e71aed99fd699bf9509bffa0f3
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
# v0.3.5 (07.06.2020)
|
2
|
+
|
3
|
+
- bugfix: Info from decoded id_token is not exposed into `request.env['omniauth.auth']` [#61](https://github.com/m0n9oose/omniauth_openid_connect/pull/61)
|
4
|
+
- bugfix: NoMethodError (`undefined method 'count' for #<OpenIDConnect::ResponseObject::IdToken>`) [#60](https://github.com/m0n9oose/omniauth_openid_connect/pull/60)
|
5
|
+
|
1
6
|
# v0.3.4 (21.05.2020)
|
2
7
|
|
3
8
|
- Try to verify id_token when response_type is code [#44](https://github.com/m0n9oose/omniauth_openid_connect/pull/44)
|
@@ -201,7 +201,15 @@ module OmniAuth
|
|
201
201
|
end
|
202
202
|
|
203
203
|
def user_info
|
204
|
-
@user_info
|
204
|
+
return @user_info if @user_info
|
205
|
+
|
206
|
+
if access_token.id_token
|
207
|
+
decoded = decode_id_token(access_token.id_token).raw_attributes
|
208
|
+
|
209
|
+
@user_info = ::OpenIDConnect::ResponseObject::UserInfo.new access_token.userinfo!.raw_attributes.merge(decoded)
|
210
|
+
else
|
211
|
+
@user_info = access_token.userinfo!
|
212
|
+
end
|
205
213
|
end
|
206
214
|
|
207
215
|
def access_token
|
@@ -212,7 +220,7 @@ module OmniAuth
|
|
212
220
|
client_auth_method: options.client_auth_method
|
213
221
|
)
|
214
222
|
|
215
|
-
verify_id_token!(
|
223
|
+
verify_id_token!(@access_token.id_token) if configured_response_type == 'code'
|
216
224
|
|
217
225
|
@access_token
|
218
226
|
end
|
@@ -330,6 +338,8 @@ module OmniAuth
|
|
330
338
|
end
|
331
339
|
|
332
340
|
def verify_id_token!(id_token)
|
341
|
+
return unless id_token
|
342
|
+
|
333
343
|
decode_id_token(id_token).verify!(issuer: options.issuer,
|
334
344
|
client_id: client_options.identifier,
|
335
345
|
nonce: stored_nonce)
|
@@ -185,9 +185,9 @@ module OmniAuth
|
|
185
185
|
id_token = stub('OpenIDConnect::ResponseObject::IdToken')
|
186
186
|
id_token.stubs(:raw_attributes).returns('sub' => 'sub', 'name' => 'name', 'email' => 'email')
|
187
187
|
id_token.stubs(:verify!).with(issuer: strategy.options.issuer, client_id: @identifier, nonce: nonce).returns(true)
|
188
|
-
::OpenIDConnect::ResponseObject::IdToken.stubs(:decode).returns(id_token)
|
189
188
|
id_token.expects(:verify!)
|
190
189
|
|
190
|
+
strategy.expects(:decode_id_token).twice.with(access_token.id_token).returns(id_token)
|
191
191
|
strategy.call!('rack.session' => { 'omniauth.state' => state, 'omniauth.nonce' => nonce })
|
192
192
|
strategy.callback_phase
|
193
193
|
end
|
@@ -248,6 +248,7 @@ module OmniAuth
|
|
248
248
|
::OpenIDConnect::Discovery::Provider::Config.stubs(:discover!).with('https://example.com/').returns(config)
|
249
249
|
|
250
250
|
id_token = stub('OpenIDConnect::ResponseObject::IdToken')
|
251
|
+
id_token.stubs(:raw_attributes).returns('sub' => 'sub', 'name' => 'name', 'email' => 'email')
|
251
252
|
id_token.stubs(:verify!).with(issuer: 'https://example.com/', client_id: @identifier, nonce: nonce).returns(true)
|
252
253
|
::OpenIDConnect::ResponseObject::IdToken.stubs(:decode).returns(id_token)
|
253
254
|
|
@@ -587,7 +588,7 @@ module OmniAuth
|
|
587
588
|
|
588
589
|
id_token = stub('OpenIDConnect::ResponseObject::IdToken')
|
589
590
|
id_token.stubs(:verify!).returns(true)
|
590
|
-
id_token.stubs(:raw_attributes, :to_h).returns(
|
591
|
+
id_token.stubs(:raw_attributes, :to_h).returns(
|
591
592
|
{
|
592
593
|
"iss": "http://server.example.com",
|
593
594
|
"sub": "248289761001",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omniauth_openid_connect
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Bohn
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2020-
|
12
|
+
date: 2020-06-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: addressable
|