App Transfer

Recently, we received a transfer of ownership for an application. While the transfer has been completed, we are encountering issues when we tried exchange the transfer identifiers for team-scoped identifiers and private email addresses. Specifically, we are only able to successfully exchange a portion of the user identifier.

Following the official documentation, we performed the following steps:

  1. Obtained the interface token:
  • Request parameters:

client_id

client_secret

grant_type=client_credentials

scope=user.migration

  • Response:

{"access_token":"xxxx","token_type":"Bearer","expires_in":3600}

  1. Generate the transfer identifier

https://developer.apple.com/documentation/sign_in_with_apple/transferring_your_apps_and_users_to_another_team)

  • Request parameters:

sub=xxxx&target=New Team ID&client_id&client_secret

  • Response:

{"transfer_sub":"xxxx"}

  1. Re-obtained the interface token:
  • Request parameters:

client_id

client_secret

grant_type=client_credentials

scope=user.migration

  • Response:

{"access_token":"xxxx","token_type":"Bearer","expires_in":3600}

  1. Exchange identifiers:

https://developer.apple.com/documentation/sign_in_with_apple/bringing_new_apps_and_users_into_your_team)

  • Request parameters:

transfer_sub=xxxx&client_id&client_secret

  • Response:

code:400, content:{"error":"invalid_request"}

Could you please help us identify the issue?

Hello Kuku,

We are running into the same problem! It really looks a bug in the API. Apple code-level support has never got back to us on this. Have you found a solution?

Hi @Kuku111, @xanderdeseyn:

I need more information about your Sign in with Apple user migration requests to begin my investigation:

Gathering required information for troubleshooting Sign in with Apple user migration

To prevent sending sensitive JSON Web Tokens (JWTs) in plain text, you should create a report in Feedback Assistant to share the details requested below. Additionally, if I determine the error is caused by an internal issue in the operating system or Apple ID servers, the appropriate engineering teams have access to the same information and can communicate with you directly for more information, if needed. Please follow the instructions below to submit your feedback.

For issues occurring with your user migration, ensure your feedback contains the following information:

  • the primary App ID and Services ID
  • the client secret for the transferring team (Team A) and the recipient team (Team B)
  • the failing request(s), including all parameter values, and error responses (if applicable)
  • the timestamp of when the issue was reproduced (optional)
  • screenshots or videos of errors and unexpected behaviors (optional)

Important: If providing a web service request, please ensure the client secret (JWT) has an extended expiration time (exp) of at least seven business (7) days, so I have enough time to diagnose the issue. Additionally, if your request requires access token or refresh tokens, please provide refresh tokens as they do not have a time-based expiration time; most access tokens have a maximum lifetime of one (1) hour, and will expire before I have a chance to look at the issue.

Submitting your feedback

Before you submit via Feedback Assistant, please confirm the requested information above (for your native app or web service) is included in your feedback. Failure to provide the requested information will only delay my investigation into the reported issue within your Sign in with Apple client.

After your submission to Feedback Assistant is complete, please respond to this email with the Feedback ID. Once received, I can begin my investigation and determine if this issue is caused by an error within your client, a configuration issue within your developer account, or an underlying system bug.

Cheers,

Paris X Pinkney |  WWDR | DTS Engineer

@DTS Engineer Hello, we have created a report in Feedback Assistant to share the information you requested. The Feedback ID is FB14808651.

App Transfer
 
 
Q