apple_id 1.5.0 → 1.6.4

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: d960eb2153d5e632113ef0e7c916d1e4c98cc3c113cc3f174f6b3fbec13eb656
4
- data.tar.gz: 5d894c4223f3ef3f0648736c3f9bcec50e798a59efc418526091cc740186eca7
3
+ metadata.gz: c046d068616210402adb14f58276b0aa984c6b7d308457bae068ba78d4b06795
4
+ data.tar.gz: 91d102d2c9bca0c22f328887f69baa0ced4d14c2f425ac1c52114735dba6d144
5
5
  SHA512:
6
- metadata.gz: 3a14c1cb7ee1eb22b902e8f536106c2141eb03d381131603c3627767cfc78755ce7f7a71b5a244d3ecf5682d58763c8c683ace0c6d76caf91838530dd833cc18
7
- data.tar.gz: 115cd71531fefe3b923a8bcd47ea82edf1f8ef5f2cf0e63ebc872fe754a2e546fa94078009e36cf740b20f6f0cff900c0325e0f9c7ee445fdfae281f53030a75
6
+ metadata.gz: b58d74bb0f479d09e7ab807c826467852ed70a101859a64b5063a7bbefcca5067928eed699c2120e146aa089a1907c8a345d696836545566219f69b671d7c849
7
+ data.tar.gz: 1fbb9fe991a92cfa7838492831a76c6378a292c83b2ae6566053e578477095d054bd3ef1d2758f534507d3d7e50b892ca7c3a07ba204426b58093216ff59a655
@@ -0,0 +1,31 @@
1
+ name: Spec
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ spec:
14
+ strategy:
15
+ matrix:
16
+ os: ['ubuntu-20.04', 'ubuntu-22.04']
17
+ ruby-version: ['3.1', '3.2', '3.3']
18
+ include:
19
+ - os: 'ubuntu-20.04'
20
+ ruby-version: '3.0'
21
+ runs-on: ${{ matrix.os }}
22
+
23
+ steps:
24
+ - uses: actions/checkout@v3
25
+ - name: Set up Ruby
26
+ uses: ruby/setup-ruby@v1
27
+ with:
28
+ ruby-version: ${{ matrix.ruby-version }}
29
+ bundler-cache: true
30
+ - name: Run Specs
31
+ run: bundle exec rake spec
data/CHANGELOG.md ADDED
@@ -0,0 +1,30 @@
1
+ ## [Unreleased]
2
+
3
+ ## [1.6.2] - 2022-10-20
4
+
5
+ ### Fixed
6
+
7
+ - rescue un-parsable / non-hash error response https://github.com/nov/apple_id/commit/75a35e9d15fa2af299237ceb3b71def819e9cc03
8
+
9
+ ## [1.6.2] - 2022-10-14
10
+
11
+ ### Fixed
12
+
13
+ - stringify jwt secret, faraday does not do so automatically https://github.com/nov/apple_id/commit/660ba5f8036279b111abc75a2708b945d4ab0be9
14
+
15
+ ## [1.6.1] - 2022-10-14
16
+
17
+ ### Fixed
18
+
19
+ - fix json response handling https://github.com/nov/apple_id/commit/3b6199b56de2eda0b35fcb13a76438916961ba47
20
+
21
+
22
+ ## [1.6.0] - 2022-10-09
23
+
24
+ ### Added
25
+
26
+ - start recording CHANGELOG
27
+
28
+ ### Changed
29
+
30
+ - updated underlying gems and use faraday instead of httpclient through them https://github.com/nov/apple_id/commit/055de30ce6f7beb2e034ab99f6f46a1de7004111
data/README.md CHANGED
@@ -44,4 +44,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
44
44
 
45
45
  ## Code of Conduct
46
46
 
47
- Everyone interacting in the AppleID project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/nov/apple_id/blob/master/CODE_OF_CONDUCT.md).
47
+ Everyone interacting in the AppleID project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/nov/apple_id/blob/main/CODE_OF_CONDUCT.md).
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.5.0
1
+ 1.6.4
data/apple_id.gemspec CHANGED
@@ -18,9 +18,9 @@ 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.0'
22
- spec.add_runtime_dependency 'rack-oauth2', '~> 1.21.2'
23
- spec.add_runtime_dependency 'openid_connect', '~> 1.3.0'
21
+ spec.add_runtime_dependency 'json-jwt', '~> 1.16'
22
+ spec.add_runtime_dependency 'rack-oauth2', '~> 2.0'
23
+ spec.add_runtime_dependency 'openid_connect', '~> 2.2'
24
24
  spec.add_development_dependency 'bundler'
25
25
  spec.add_development_dependency 'rake'
26
26
  spec.add_development_dependency 'rspec'
@@ -34,7 +34,7 @@ module AppleID
34
34
  exp: 1.minutes.from_now
35
35
  )
36
36
  jwt.kid = key_id
37
- jwt.sign(private_key)
37
+ jwt.sign(private_key).to_s
38
38
  end
39
39
 
40
40
  def setup_required_scope(scopes)
@@ -45,13 +45,15 @@ module AppleID
45
45
  end
46
46
 
47
47
  def handle_success_response(response)
48
- token_hash = JSON.parse(response.body).with_indifferent_access
48
+ token_hash = response.body.with_indifferent_access
49
49
  AccessToken.new token_hash.delete(:access_token), token_hash.merge(client: self)
50
50
  end
51
51
 
52
52
  def handle_error_response(response)
53
- error = JSON.parse(response.body).with_indifferent_access
53
+ error = response.body.with_indifferent_access
54
54
  raise Error.new(response.status, error)
55
+ rescue Faraday::ParsingError, NoMethodError
56
+ raise Error.new(response.status, error: 'Unknown', error_description: response.body)
55
57
  end
56
58
  end
57
59
  end
@@ -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
@@ -7,8 +7,8 @@ module AppleID
7
7
  JSON::JWK::Set::Fetcher.cache
8
8
  end
9
9
 
10
- def self.fetch(kid)
11
- JSON::JWK::Set::Fetcher.fetch JWKS_URI, kid: kid
10
+ def self.fetch(kid, options = {})
11
+ JSON::JWK::Set::Fetcher.fetch JWKS_URI, kid: kid, **options
12
12
  end
13
13
  end
14
14
  end
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.5.0
4
+ version: 1.6.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - nov
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-08-11 00:00:00.000000000 Z
11
+ date: 2023-12-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json-jwt
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.15.0
19
+ version: '1.16'
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.15.0
26
+ version: '1.16'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rack-oauth2
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.21.2
33
+ version: '2.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.21.2
40
+ version: '2.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: openid_connect
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.3.0
47
+ version: '2.2'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.3.0
54
+ version: '2.2'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -144,9 +144,10 @@ extensions: []
144
144
  extra_rdoc_files: []
145
145
  files:
146
146
  - ".github/FUNDING.yml"
147
+ - ".github/workflows/spec.yml"
147
148
  - ".gitignore"
148
149
  - ".rspec"
149
- - ".travis.yml"
150
+ - CHANGELOG.md
150
151
  - CODE_OF_CONDUCT.md
151
152
  - Gemfile
152
153
  - LICENSE.txt
@@ -169,7 +170,7 @@ homepage: https://github.com/nov/apple_id
169
170
  licenses:
170
171
  - MIT
171
172
  metadata: {}
172
- post_install_message:
173
+ post_install_message:
173
174
  rdoc_options: []
174
175
  require_paths:
175
176
  - lib
@@ -184,8 +185,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
184
185
  - !ruby/object:Gem::Version
185
186
  version: '0'
186
187
  requirements: []
187
- rubygems_version: 3.1.6
188
- signing_key:
188
+ rubygems_version: 3.4.10
189
+ signing_key:
189
190
  specification_version: 4
190
191
  summary: Sign-in with Apple Backend
191
192
  test_files: []
data/.travis.yml DELETED
@@ -1,10 +0,0 @@
1
- ---
2
- sudo: false
3
- language: ruby
4
- cache: bundler
5
- before_install: gem install bundler
6
- rvm:
7
- - 2.5.8
8
- - 2.6.6
9
- - 2.7.2
10
- - 3.0.2