omniauth-edenred 1.0.0 → 1.0.1

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
  SHA1:
3
- metadata.gz: 9425525d0ada085e5c311eb8ecc4dc2111945da9
4
- data.tar.gz: c246474271a3de96a84fa726aa465c765933669a
3
+ metadata.gz: '093d931564f36f856613aaf13e21e59a827b0a96'
4
+ data.tar.gz: 6216e624f8d38fdceba3de4fd8074ca86cb59405
5
5
  SHA512:
6
- metadata.gz: 6022cfe8ee9568a5b726efd76c5f7981e42d5f78d6477cf672a12166e8ee14de0c705101c705ff63652dcea148f2afc459f8014392b3783c10175de6e2d91f91
7
- data.tar.gz: 3df5769275867689b90613009ee2fae181d09af60b5fda58a1db93578ea541bb027f6830704450fdfb4754e3e0a4adc413a51f29db036aabb3629b7898540428
6
+ metadata.gz: 9243a49225c5ec58706ac4d19f05f104ecd50d0b147d65e00fb7a653adf0921dfdaa464155a720fe84c7d3903b1f21f27a91f54769d37978d919d8d1a6ed0bd8
7
+ data.tar.gz: 6307ffb22efcc95b2b1e5b80cf767755c68c1cf7aa03a7d62b7e51925d80b143ab89fc8046b65c08d8c4074418c1c13c33c925ac90aabd0d536649d384af2f48
@@ -0,0 +1,2 @@
1
+ .DS_Store
2
+ *.gem
@@ -1,5 +1,5 @@
1
1
  module OmniAuth
2
2
  module Edenred
3
- VERSION = '1.0.0'
3
+ VERSION = '1.0.1'
4
4
  end
5
5
  end
@@ -26,6 +26,33 @@ module OmniAuth
26
26
  end
27
27
  end
28
28
 
29
+ # Added JWT.decode
30
+ def callback_phase
31
+ begin
32
+ error = request.params["error_reason"] || request.params["error"]
33
+ if error
34
+ fail!(error, CallbackError.new(request.params["error"], request.params["error_description"] || request.params["error_reason"], request.params["error_uri"]))
35
+ elsif !options.provider_ignores_state && (request.params["state"].to_s.empty? || request.params["state"] != session.delete("omniauth.state"))
36
+ fail!(:csrf_detected, CallbackError.new(:csrf_detected, "CSRF detected"))
37
+ else
38
+ self.access_token = build_access_token
39
+ self.access_token = access_token.refresh! if access_token.expired?
40
+
41
+ @raw_info = JWT.decode(access_token.params['id_token'], nil, false).first
42
+ env['omniauth.auth'] = auth_hash
43
+ call_app!
44
+ end
45
+ rescue ::OAuth2::Error, CallbackError => e
46
+ fail!(:invalid_credentials, e)
47
+ rescue ::Timeout::Error, ::Errno::ETIMEDOUT => e
48
+ fail!(:timeout, e)
49
+ rescue ::SocketError => e
50
+ fail!(:failed_to_connect, e)
51
+ rescue ::JWT::DecodeError => e
52
+ fail!(:jwt_decode, e)
53
+ end
54
+ end
55
+
29
56
  uid { raw_info['username'] }
30
57
 
31
58
  info do
@@ -42,7 +69,7 @@ module OmniAuth
42
69
  end
43
70
 
44
71
  def raw_info
45
- @raw_info ||= JWT.decode(access_token.params['id_token'], nil, false).first
72
+ @raw_info || {}
46
73
  end
47
74
 
48
75
  # Required for omniauth-oauth2 >= 1.4
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-edenred
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan VUKOVICH TRIBOUHARET
@@ -44,6 +44,7 @@ executables: []
44
44
  extensions: []
45
45
  extra_rdoc_files: []
46
46
  files:
47
+ - ".gitignore"
47
48
  - Gemfile
48
49
  - LICENSE.md
49
50
  - README.md