omniauth-fishbrain 0.11.4 → 0.12.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
  SHA256:
3
- metadata.gz: 58b986c338209b8d0078fe1575f66ebac4af360a662db67d0bfff5f3ee6a9dae
4
- data.tar.gz: d111c45ee3100e0232bf0d5993b80430990bc39c20a7bc0cf7d97c33ec91de44
3
+ metadata.gz: d4b3c0a2abc25300f40434bb973195ee9ea875d5f767732280ee4988627378e3
4
+ data.tar.gz: 90dcb4f7dee77f1433db50ba6141c9424db423827f745cb63ff6e6848fdd1f09
5
5
  SHA512:
6
- metadata.gz: 99441c0a1cf973b4a8a1ed557a3cf361ebbf54695f864bdcf0ad98ebc63d3798c70111a71dd77f262f1a64cd6743cad3ec5c65d544bd156c45a4eccb53e30c1e
7
- data.tar.gz: e282f4cd037715c4e826938e33305f7d5b9a07784170fbb3d510599338683f2807aad4f6ad60307035e44000f37bebb6f6defd034f4534598b7fe316da04228f
6
+ metadata.gz: f2ee202dc71c22553a1c7e4b164256530aa75f0543ddf8335ed7085366a14662017994b4abe6ecfea6ec6a00fb2880f0e97947df6b78150e224f18916533e30d
7
+ data.tar.gz: b559dcea451bb280efb92ec2d6f6215bea30a56d3f077b03aefb7a9d011fdafe116433c23c42376df31a60afff644b4ee6cc1665c7128d2a8f5805fab1a148df
@@ -1,11 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'net/http'
3
+ require 'omniauth/fishbrain/jwks'
4
4
  require 'jwt'
5
5
 
6
6
  module OmniAuth
7
7
  module Fishbrain
8
8
  class DecodeIdToken
9
+ include Jwks
10
+
9
11
  AWS_REGION = 'eu-west-1'
10
12
  USER_POOL_ID = 'eu-west-1_TKWveIcYu'
11
13
 
@@ -28,7 +30,7 @@ module OmniAuth
28
30
  {
29
31
  iss: iss,
30
32
  aud: client_id,
31
- verify_aud: true,
33
+ verify_aud: false,
32
34
  verify_expiration: true,
33
35
  verify_iat: true,
34
36
  verify_iss: true,
@@ -44,10 +46,7 @@ module OmniAuth
44
46
  end
45
47
 
46
48
  def jwks
47
- @_jwks ||= "#{iss}/.well-known/jwks.json"
48
- .yield_self(&URI.method(:parse))
49
- .yield_self(&Net::HTTP.method(:get))
50
- .yield_self { |it| JSON.parse(it, symbolize_names: true) }
49
+ get_json("#{iss}/.well-known/jwks.json")
51
50
  end
52
51
  end
53
52
  end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'net/http'
4
+ require 'api_cache'
5
+
6
+ module OmniAuth
7
+ module Fishbrain
8
+ module Jwks
9
+ def get_json(uri)
10
+ APICache.get('fishbrain_jwks', cache: 86_400, period: 0) do # 24 hours
11
+ uri
12
+ .yield_self(&URI.method(:parse))
13
+ .yield_self(&Net::HTTP.method(:get))
14
+ .yield_self { |it| JSON.parse(it, symbolize_names: true) }
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'net/http'
3
+ require 'omniauth/fishbrain/jwks'
4
4
  require 'jwt'
5
5
 
6
6
  module OmniAuth
@@ -34,11 +34,7 @@ module OmniAuth
34
34
  end
35
35
 
36
36
  def jwks
37
- @_jwks ||= \
38
- "#{iss}/.well-known/jwks.json"
39
- .yield_self(&URI.method(:parse))
40
- .yield_self(&Net::HTTP.method(:get))
41
- .yield_self { |it| JSON.parse(it, symbolize_names: true) }
37
+ get_json("#{iss}/.well-known/jwks.json")
42
38
  end
43
39
  end
44
40
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module OmniAuth
4
4
  module Fishbrain
5
- VERSION = '0.11.4'
5
+ VERSION = '0.12.1'
6
6
  end
7
7
  end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'omniauth/fishbrain/jwks'
3
4
  require 'omniauth-fishbrain/version'
4
5
  require 'omniauth/strategies/fishbrain'
5
6
  require 'omniauth/strategies/fishbrain_id'
metadata CHANGED
@@ -1,16 +1,30 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-fishbrain
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.4
4
+ version: 0.12.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erik Dalen
8
8
  - Fishbrain AB
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-06-25 00:00:00.000000000 Z
12
+ date: 2022-09-01 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: api_cache
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: 0.3.0
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: 0.3.0
14
28
  - !ruby/object:Gem::Dependency
15
29
  name: jwt
16
30
  requirement: !ruby/object:Gem::Requirement
@@ -39,7 +53,7 @@ dependencies:
39
53
  - - "~>"
40
54
  - !ruby/object:Gem::Version
41
55
  version: '1.6'
42
- description:
56
+ description:
43
57
  email:
44
58
  - erik.dalen@fishbrain.com
45
59
  - developer@fishbrain.com
@@ -52,6 +66,7 @@ files:
52
66
  - lib/omniauth-fishbrain.rb
53
67
  - lib/omniauth-fishbrain/version.rb
54
68
  - lib/omniauth/fishbrain/decode_id_token.rb
69
+ - lib/omniauth/fishbrain/jwks.rb
55
70
  - lib/omniauth/fishbrain/premium_status.rb
56
71
  - lib/omniauth/fishbrain/verifies_id_token.rb
57
72
  - lib/omniauth/strategies/fishbrain.rb
@@ -60,7 +75,7 @@ homepage: https://github.com/fishbrain/omniauth-fishbrain
60
75
  licenses:
61
76
  - MIT
62
77
  metadata: {}
63
- post_install_message:
78
+ post_install_message:
64
79
  rdoc_options: []
65
80
  require_paths:
66
81
  - lib
@@ -68,15 +83,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
68
83
  requirements:
69
84
  - - ">="
70
85
  - !ruby/object:Gem::Version
71
- version: '0'
86
+ version: 2.5.0
72
87
  required_rubygems_version: !ruby/object:Gem::Requirement
73
88
  requirements:
74
89
  - - ">="
75
90
  - !ruby/object:Gem::Version
76
91
  version: '0'
77
92
  requirements: []
78
- rubygems_version: 3.0.3
79
- signing_key:
93
+ rubygems_version: 3.2.3
94
+ signing_key:
80
95
  specification_version: 4
81
96
  summary: OmniAuth strategy for Fishbrain
82
97
  test_files: []