apple_id 1.0.1 → 1.1.0

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: 4ab5b0ef1e21385e18da3558d8b0c08d989423fa1b3ab9dc6b98657d5a61e740
4
- data.tar.gz: 29d3c73395a07526c04e15ac8ba10b4fc12e746fba71cc41eb150fee6f47b586
3
+ metadata.gz: 1c660f0576768bf567a75575fc413a2edd9e1c805de1af2853be8fb6a04eeceb
4
+ data.tar.gz: '07494d150bfa11e09cf8216b2bb46b6686869ac8164baad467651fdedcd4b7ca'
5
5
  SHA512:
6
- metadata.gz: d5450d358b5aed168c51dbff15d04eea399914176f46b1cbf305edb59bbe67f1d782b802c30bec050c4e19d01475d96aedd7a5e22a7a6227e1b3614e136ed8f6
7
- data.tar.gz: 2fd4b64f017a52947003407a20ba445e61ca4f3d687f9188c02ad8f54587018dcb879def52a8d20ab9ca4be64abdb57df9882a32a27f8190e33557422d8d5021
6
+ metadata.gz: 13ede95f09ed940bd443001b63cc5fb3fc038c6d0e176f7d6ad52427325ec1764e5ec8eabcb38e94e7c6069f59c354c8be0947397bd29c55cd814734b024ee83
7
+ data.tar.gz: c8e8695d746b5a5431f45b0241530d2a49af18402e5f0f24924acd191eaac269e4a690e9998c4b5962905b89b3db98481900a75a3ced992aa3d95d3a35e5b8d6
@@ -4,6 +4,6 @@ language: ruby
4
4
  cache: bundler
5
5
  before_install: gem install bundler
6
6
  rvm:
7
- - 2.4.6
8
- - 2.5.5
9
- - 2.6.2
7
+ - 2.5.8
8
+ - 2.6.6
9
+ - 2.7.1
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.1
1
+ 1.1.0
@@ -55,3 +55,4 @@ require 'apple_id/client'
55
55
  require 'apple_id/access_token'
56
56
  require 'apple_id/id_token'
57
57
  require 'apple_id/jwks'
58
+ require 'apple_id/api/user_migration'
@@ -1,6 +1,7 @@
1
1
  module AppleID
2
2
  class AccessToken < OpenIDConnect::AccessToken
3
3
  undef_required_attributes :client
4
+ attr_optional :client
4
5
 
5
6
  def initialize(access_token, attributes = {})
6
7
  super attributes.merge(access_token: access_token)
@@ -0,0 +1,36 @@
1
+ module AppleID
2
+ module API
3
+ module UserMigration
4
+ def transfer_from!(transfer_sub:)
5
+ resource_request do
6
+ post(
7
+ user_migration_endpoint,
8
+ transfer_sub: transfer_sub,
9
+ client_id: client.identifier,
10
+ client_secret: client.secret
11
+ )
12
+ end
13
+ end
14
+
15
+ def transfer_to!(sub:, target:)
16
+ resource_request do
17
+ post(
18
+ user_migration_endpoint,
19
+ sub: sub,
20
+ target: client.team_id,
21
+ client_id: client.identifier,
22
+ client_secret: client.secret
23
+ )
24
+ end
25
+ end
26
+
27
+ private
28
+
29
+ def user_migration_endpoint
30
+ File.join(ISSUER, '/auth/usermigrationinfo')
31
+ end
32
+ end
33
+
34
+ AccessToken.include UserMigration
35
+ end
36
+ end
@@ -40,7 +40,7 @@ module AppleID
40
40
 
41
41
  def handle_success_response(response)
42
42
  token_hash = JSON.parse(response.body).with_indifferent_access
43
- AccessToken.new token_hash.delete(:access_token), token_hash
43
+ AccessToken.new token_hash.delete(:access_token), token_hash.merge(client: self)
44
44
  end
45
45
 
46
46
  def handle_error_response(response)
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.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - nov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-05-16 00:00:00.000000000 Z
11
+ date: 2020-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack-oauth2
@@ -143,6 +143,7 @@ files:
143
143
  - bin/setup
144
144
  - lib/apple_id.rb
145
145
  - lib/apple_id/access_token.rb
146
+ - lib/apple_id/api/user_migration.rb
146
147
  - lib/apple_id/client.rb
147
148
  - lib/apple_id/id_token.rb
148
149
  - lib/apple_id/jwks.rb