apple_id 1.4.3 → 1.5.2

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: 9d4855e908fa2ef52663c918a00ae521a50b3c103c56f437756d05038e8d6925
4
- data.tar.gz: a9e6b71347db257406b0872c699aaf6213459fa195365e0de28a7481d72b67a0
3
+ metadata.gz: f98e97285a171e21f76635a56de17bc6a35b1ccc1bdbfcf100a9bead34674d49
4
+ data.tar.gz: fb44c3be978d89306011c2f43108578582e4b45ea1a5fa9ac19e182ca53c3b40
5
5
  SHA512:
6
- metadata.gz: df5c25f4b7df766422954e4cb7d2dac4d088cc3422a6d4e4d3c12aac7119da58959604a37d310e8814dff3430db82ca83348c18e383c941bfac1494c88b2d2db
7
- data.tar.gz: cac72a8111c8644f2c7b44fc8185ef0c84c6b4d46f855b7d19c4debf4cb5badc483886434ec505ac5171ef2a0698730cba5117f8c429c29ad05ac82bd00c389e
6
+ metadata.gz: 48643a881f3bcfaa84d2e6a543d055b9a9e8b6005d883b35d38425b1e7d5f75829e6914a3f2172cda3e277ed2b849f0c9835f032c8f261ccf45bf74166a25b53
7
+ data.tar.gz: f27853d56f96451f342a44ba0fd534cfd81327755a1e850fd29a39294cbacc9a99bd999029ac8b50cd0a796eb26e2dfd25a97b666488d58ef7a70bd96de8bb50
data/.travis.yml CHANGED
@@ -4,7 +4,7 @@ language: ruby
4
4
  cache: bundler
5
5
  before_install: gem install bundler
6
6
  rvm:
7
- - 2.5.8
8
- - 2.6.6
9
- - 2.7.2
10
- - 3.0.2
7
+ - 2.6.10
8
+ - 2.7.6
9
+ - 3.0.4
10
+ - 3.1.2
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.4.3
1
+ 1.5.2
data/apple_id.gemspec CHANGED
@@ -18,6 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ['lib']
20
20
 
21
+ spec.add_runtime_dependency 'json-jwt', '~> 1.15.2'
21
22
  spec.add_runtime_dependency 'rack-oauth2', '~> 1.21.2'
22
23
  spec.add_runtime_dependency 'openid_connect', '~> 1.3.0'
23
24
  spec.add_development_dependency 'bundler'
@@ -1,6 +1,7 @@
1
1
  module AppleID
2
2
  class EventToken::Event < OpenIDConnect::ConnectObject
3
3
  attr_required :type, :sub, :event_time
4
+ attr_optional :email, :is_private_email
4
5
 
5
6
  module Type
6
7
  EMAIL_ENABLED = 'email-enabled'
@@ -26,6 +27,14 @@ module AppleID
26
27
  end
27
28
  alias_method :account_delete?, :account_deleted?
28
29
 
30
+ def is_private_email?
31
+ if is_private_email.is_a? String
32
+ is_private_email == 'true'
33
+ else
34
+ !!is_private_email
35
+ end
36
+ end
37
+
29
38
  class << self
30
39
  def decode(json_string)
31
40
  new JSON.parse(json_string).with_indifferent_access
data/lib/apple_id/jwks.rb CHANGED
@@ -1,27 +1,14 @@
1
1
  module AppleID
2
2
  class JWKS < JSON::JWK::Set
3
- class Cache
4
- def fetch(cache_key)
5
- yield
6
- end
7
- end
8
-
9
3
  def self.cache=(cache)
10
- @@cache = cache
4
+ JSON::JWK::Set::Fetcher.cache = cache
11
5
  end
12
6
  def self.cache
13
- @@cache
7
+ JSON::JWK::Set::Fetcher.cache
14
8
  end
15
- self.cache = Cache.new
16
9
 
17
- def self.fetch(cache_key)
18
- jwks = cache.fetch("apple_id:jwks:#{cache_key}") do
19
- new(
20
- JSON.parse(
21
- OpenIDConnect.http_client.get_content(JWKS_URI)
22
- ).with_indifferent_access[:keys]
23
- )
24
- end
10
+ def self.fetch(kid, options = {})
11
+ JSON::JWK::Set::Fetcher.fetch JWKS_URI, kid: kid, **options
25
12
  end
26
13
  end
27
14
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apple_id
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.3
4
+ version: 1.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - nov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-07-13 00:00:00.000000000 Z
11
+ date: 2022-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: json-jwt
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 1.15.2
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 1.15.2
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: rack-oauth2
15
29
  requirement: !ruby/object:Gem::Requirement