apple_id 1.4.3 → 1.5.2

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: 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