apple_id 1.4.0 → 1.4.3

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: 4447d024e910da0480e07d58164eefce5daa78c1389ecb8a571ad20bf969c291
4
- data.tar.gz: 9ad9be586a2c3e96e7fc3d35eb07c2c6360cde0736b705c7584bdd0fc5a6aac1
3
+ metadata.gz: 9d4855e908fa2ef52663c918a00ae521a50b3c103c56f437756d05038e8d6925
4
+ data.tar.gz: a9e6b71347db257406b0872c699aaf6213459fa195365e0de28a7481d72b67a0
5
5
  SHA512:
6
- metadata.gz: c8655e9f56f4ba8e4e71b5048be8d637bb9e798acd48a5cccd979f6f55ef1d73cb1b7a2cf9e84c46a6d95727b8cf749f5b4e4a8bc7fe7a28170acea05e7581e5
7
- data.tar.gz: a097b0398ac8da49da3874a6c073abbe844339773b638761a6f33a204c9c0207a72fdab38d2eb10cf5c0edddddb4562dfd7189ad8b2e7bc8d5dfec9064903eeb
6
+ metadata.gz: df5c25f4b7df766422954e4cb7d2dac4d088cc3422a6d4e4d3c12aac7119da58959604a37d310e8814dff3430db82ca83348c18e383c941bfac1494c88b2d2db
7
+ data.tar.gz: cac72a8111c8644f2c7b44fc8185ef0c84c6b4d46f855b7d19c4debf4cb5badc483886434ec505ac5171ef2a0698730cba5117f8c429c29ad05ac82bd00c389e
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.4.0
1
+ 1.4.3
data/apple_id.gemspec CHANGED
@@ -18,7 +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 'rack-oauth2', '~> 1.21'
21
+ spec.add_runtime_dependency 'rack-oauth2', '~> 1.21.2'
22
22
  spec.add_runtime_dependency 'openid_connect', '~> 1.3.0'
23
23
  spec.add_development_dependency 'bundler'
24
24
  spec.add_development_dependency 'rake'
@@ -2,6 +2,30 @@ module AppleID
2
2
  class EventToken::Event < OpenIDConnect::ConnectObject
3
3
  attr_required :type, :sub, :event_time
4
4
 
5
+ module Type
6
+ EMAIL_ENABLED = 'email-enabled'
7
+ EMAIL_DISABLED = 'email-disabled'
8
+ CONSENT_REVOKED = 'consent-revoked'
9
+ ACCOUNT_DELETED = 'account-delete'
10
+ end
11
+
12
+ def email_enabled?
13
+ type == Type::EMAIL_ENABLED
14
+ end
15
+
16
+ def email_disabled?
17
+ type == Type::EMAIL_DISABLED
18
+ end
19
+
20
+ def consent_revoked?
21
+ type == Type::CONSENT_REVOKED
22
+ end
23
+
24
+ def account_deleted?
25
+ type == Type::ACCOUNT_DELETED
26
+ end
27
+ alias_method :account_delete?, :account_deleted?
28
+
5
29
  class << self
6
30
  def decode(json_string)
7
31
  new JSON.parse(json_string).with_indifferent_access
@@ -2,19 +2,20 @@ module AppleID
2
2
  class EventToken < OpenIDConnect::ConnectObject
3
3
  class VerificationFailed < Error; end
4
4
 
5
- # NOTE: Apple uses `events` for the JWT key, but this gem uses `event` since it's always a single JSON Object.
6
- # Once they start returning an array of events, this gem might use `events` as the attribute name.
7
- attr_required :iss, :aud, :exp, :iat, :jti, :event
5
+ attr_required :iss, :aud, :exp, :iat, :jti, :events
8
6
  alias_method :original_jwt, :raw_attributes
7
+ alias_method :event, :events
8
+
9
+ delegate :type, :sub, :event_time, :email_enabled?, :email_disabled?, :consent_revoked?, :account_deleted?, to: :event
9
10
 
10
11
  def initialize(attributes = {})
11
12
  super
12
- @event = Event.decode attributes[:events]
13
+ @events = Event.decode attributes[:events]
13
14
  end
14
15
 
15
16
  def verify!(verify_signature: true, client: nil)
16
17
  verify_signature! if verify_signature
17
- verify_claims! client, nonce, state, access_token, code
18
+ verify_claims! client
18
19
  self
19
20
  end
20
21
 
@@ -32,7 +33,7 @@ module AppleID
32
33
  raise VerificationFailed, 'Signature Verification Failed'
33
34
  end
34
35
 
35
- def verify_claims!(client, nonce, state, access_token, code)
36
+ def verify_claims!(client)
36
37
  aud = if client.respond_to?(:identifier)
37
38
  client.identifier
38
39
  else
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apple_id
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.3
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-12 00:00:00.000000000 Z
11
+ date: 2022-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack-oauth2
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.21'
19
+ version: 1.21.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.21'
26
+ version: 1.21.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: openid_connect
29
29
  requirement: !ruby/object:Gem::Requirement