omniauth-edenred 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
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