omniauth-fishbrain 0.11.5 → 0.11.6

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: 1637721816e60eb974b77e438d29b21943e039b2ec6deb97fd621b055ea9b3f9
4
- data.tar.gz: 7a25399a0f3cdff975adccbdb46fbf2679417978756fad9336be4e9be26fb9af
3
+ metadata.gz: 5f50dfb6ad611857363bafd7f98dfd8a26c6241e021b285358a838bdf735e6b5
4
+ data.tar.gz: 64886edd7b774f99c6a58d989471c7c374fa98fb8c087cd8d0fd97cfc19b2dc0
5
5
  SHA512:
6
- metadata.gz: f54afe7e9de9d46401a3c6c387a63a42e2661ccaf81fe674fdd73c840db162a44360e1f4011020d8faa7b191a65ff9073909ef0c498d15a7e09ae544c3e9b35a
7
- data.tar.gz: fce1acff0dbc7abbe47f4113c5abb978bd08e8bbc4d6fd59fc62bbe9eaa608caf5175e4490a8369c3f6fa74f81b8e714a5667159e23bbb81ce2e146e5eade613
6
+ metadata.gz: b07f0d861cc9d6cab95ee3e76d44c88d2a7d353de04d29f25c56b15b89b75ecc44515dabeeb382a966b727bde429e319a3ceeb58ebd436f7c9b110c77dc93b1f
7
+ data.tar.gz: 360bd6039fd1c0cc7039c4851997884f9d6c05e81cb594f36b058dd7909b08674307caab358739539498145aaaae957f4a7d32eeaf454009de431f00c5786b0f
@@ -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
 
@@ -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) 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.5'
5
+ VERSION = '0.11.6'
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.5
4
+ version: 0.11.6
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-08-17 00:00:00.000000000 Z
12
+ date: 2021-08-30 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
@@ -75,8 +90,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
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: []