I was testing an app with AppleSignIn with a Firebase backend and wanted to test account deletion functionality. I was unaware of needing to revoke the token with Apple before proceeding with account deletion. Now, when I try to create a new account with the same appleId email, the token passed to Firebase is invalid and the login fails.
As such, I am blocked from testing my app with authenticated Apple users, so I'm trying to understand what the workaround is.
Thanks in advance!
Sign in with Apple
RSS for tagSign in with Apple enables users to sign into apps and websites using their Apple ID.
Posts under Sign in with Apple tag
151 Posts
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hello Apple Developer Community,
We are experiencing an issue with email delivery when users sign in using "Sign in with Apple" on our platform. We need assistance in understanding and resolving this problem.
Issue Description:
When users choose to hide their email during the "Sign in with Apple" process, Apple provides a private relay email address (e.g., xxxx@xxx).
These private relay email addresses are successfully received and stored in our system via the OIDC protocol implemented on Keycloak.
Verification emails are sent from our configured email address to the private relay email addresses. However, users do not receive these emails, and we suspect they are not being forwarded to the user’s actual email address.
Steps Taken:
Sender Address Configuration: We have verified that our email is properly set up and authorized to send emails.
DNS Records: Our DNS records (SPF, DKIM, and DMARC) are configured to comply with email authentication standards.
Whitelisting Sender Address: We attempted to whitelist the sender address as per recommendations but have not seen any improvement.
Questions:
Are there additional DNS configurations or records required for the Apple private relay to forward emails properly?
Is there a process to validate our sender address with Apple to ensure email forwarding works?
Are there specific guidelines or restrictions for sending emails to privaterelay.appleid.com addresses that we should follow?
Is there a way to verify if Apple’s private relay email service is functioning correctly for our domain?
Relevant Information:
We use Keycloak to implement the OIDC protocol and store the private relay email address during the "Sign in with Apple" process.
Our verification emails are sent from our email address.
We have referred to the Apple documentation and community posts but could not find a clear resolution.
Any guidance or recommendations from the community would be greatly appreciated.
Thank you in advance for your support!
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
Sign in with Apple REST API
Sign in with Apple
Hello,
We plan to remove our app from the App Store. This post aims to determine whether our company can rely on Private Relay to compensate our customers.
Our Challenge: Gift Card Refunds with Private Relay
Some customers purchased gift cards through our app using Apple's "Private Relay" during account creation. To process refunds, we need a way to identify these customers. Our system relies on email addresses, which are masked by Private Relay.
Potential Solution: Apps Using Apple ID
We're exploring "Apps Using Apple ID" as a possible solution for customers to share their Private Relay addresses for refund purposes.
Under what circumstances will an app cease to appear in the "Apps Using Apple ID" list?
What conditions must be met to initiate a new Private Relay connection for the same user and application? For example, would using the same Apple account to sign into the app on a different device trigger a new Private Relay?
Thank you for your help!
Hi everyone,
We’ve been trying to submit our app to the App Store for quite some time now, but we’ve encountered multiple rejections despite addressing all the feedback we’ve received. Initially, we resolved a few issues, but there is one recurring problem that continues to block us.
Every time, the review team reports an issue with the “Sign in with Apple” feature, specifically stating: “App did not produce further action when we tapped on Sign in with Apple.”
However, we’ve tested the feature on multiple devices, including iPads and iPhones, targeting all iOS versions from 17 and above. The login process works flawlessly in all our tests. We’ve ensured that we are following Apple’s best practices and have meticulously reviewed our implementation numerous times and also reviewed with another team which implemented it the same way and did got approved.
It’s becoming frustrating as the issue appears to be on the review side. We’ve even uploaded videos demonstrating various scenarios, yet we still receive no detailed feedback. Each review cycle takes about 24 hours, which is significantly delaying our iOS launch.
Has anyone experienced a similar situation, where a working feature consistently fails during App Store review? If so, how did you resolve it? We’re quite behind schedule and would appreciate any advice.
The app is made with Xcode 16.
Thank You!
------- This is the reviewer notes -------
Guideline 2.1 - Performance - App Completeness
Issue Description
The app still exhibited one or more bugs that would negatively impact App Store users.
Bug description: App did not produce further action when we tapped on Sign in with Apple.
Review device details:
Device type: iPad Air (5th generation)
OS version: iPadOS 18.2
Next Steps
Test the app on supported devices to identify and resolve bugs and stability issues before submitting for review.
If the bug cannot be reproduced, try the following:
For new apps, uninstall all previous versions of the app from a device, then install and follow the steps to reproduce.
For app updates, install the new version as an update to the previous version, then follow the steps to reproduce.
Hello,
I install virtual machine macOS Sequoia 15.0 on Window 11. When I login Apple ID on that VM, it throws error: Verification Failed: An unknown error occured.
Can you please let me know this is not allowed by Apple Policy or how should I do to be able to login Apple ID?
Attached is the error noti.
Thank you
I have configured DKIM and amazon's default spf. but can't get emails using Amazon Send, do I have to configure a custom domain name here for this to work, I'd like to get a definitive conclusion!
Hello,
These questions are in regard to transferring Sign in With Apple users as part of an app transfer to another developer team. We’ve already read and absorbed the following documents from Apple, but we still have questions that aren’t covered in these documents, due to the unique nature of our use case.
Transferring Your Apps and Users to Another Team
Bringing New Apps and Users Into Your Team
Resolving Sign in with Apple Response Errors
Background:
We have a suite of three apps that we are tranferring to another developer team.
Each app supports Sign In With Apple.
Our accounts/users are shared among all three apps.
We have all three apps currently grouped together for SIWA. We’re aware that we will need to un-group them before doing the SIWA user transfer.
Questions:
The API for generating and exchanging transferIDs for users (endpoint /auth/usermigrationinfo) requires a parameter client_id which is described in the docs as "The identifier (App ID or Services ID) for the transferring app."
Since we are transferring a set of three apps which share users, we aren’t sure which AppID to use, or whether it matters? We’re assuming we only need to transfer the users once in total (not once-per-app), is this correct?
Does it matter which of the three apps’ AppID we use for this?
To give more specific context to this question, here’s a more detailed example:
For simplicity’s sake, let’s say we have 10 user accounts total, and any of them could sign into any of our three apps.
Users 1-7 have signed into all three apps previously
User8 has only signed into AppA
User9 has only signed into AppB
User10 has only signed into AppC
Ideally we want to transfer all 10 users all at once. Does it matter which AppID we use for client_id? For example, if we use AppA as the client_id, will we still be able to transfer all 10 users (including User9 and User10)?
We’ve tested this on the sender team side, and we’re able to successfully create transferIDs for all 10 users using AppA as client_id. But we’re not sure if this will still work on the recipient side, that we’ll be able to exchange the transferID for all 10 users.
.
To add another wrinkle, there is a possibility that we won’t be able to transfer one of our three apps (due to one of Apple’s limitations for app transfer). In that case we’ll have to create a new app on the recipient team and shut down the old one on the sender team. But the other two apps in the suite would still be transferred normally. We’d still want all 10 users to be transferred, as the intention is still that all our users can sign into any of their existing accounts in any of the three apps.
Would this scenario change the answer to question 1? For example, say we aren’t able to transfer AppC over to the new development team, but instead had to create a new app, AppCNew on the new development team. But we still are able to transfer AppA and AppB. Would we still be able to transfer all 10 users using AppA as the client_id? Including User10 who only ever signed in to AppC (which isn’t being transferred)?
We'd really appreciate any answers or guidance that anyone can provide.
Thank you,
Adam
I have tried everything to get the user field returned with Sign in flow and it never does, not for new users, not even if i create a new app! Working with Apple is so frustrating and you have to pay for it!!
Referencing this page, I am using scope=name email. I have tried using + and %20 as the spacer and neither makes a difference. I have also tried setting response_type = code and code id_token (again with + and %20 as the spacer) which also doesn't make a difference. Always the id_token is returned and always the email, but never the user.
https://developer.apple.com/documentation/sign_in_with_apple/sign_in_with_apple_js/incorporating_sign_in_with_apple_into_other_platforms#3332115
AUTHORIZE REQUEST
https://appleid.apple.com/auth/authorize?
{
"response_type": "code",
"client_id": "com.example.service",
"scope": "name email",
"state": "77264297-813c-4738-83ef-f1b77daea04c",
"redirect_uri": "https://example.com/auth/apple/callback",
"code_challenge_method": "S256",
"code_challenge": "2SJCneEpjKcN.....xIIHnpqcvjK_Y0s",
"access_type": "offline",
"nonce": "1734523662",
"response_mode": "form_post"
}
TOKEN REQUEST
https://appleid.apple.com/auth/token?
{
"grant_type": "authorization_code",
"code": "c870aaec987a14.....dqakaGP4Yn1nH3dnPgww",
"client_id": "com.hikesync.service",
"client_secret": "eyJhbGciOiJFUzI....3izij6dojYfdV6JMdbQPx3sOA",
"redirect_uri": "https://hikesync.com/auth/apple/callback",
"code_verifier": "38hHUC....mYuE0zfYVNTycg"
}
RESPONSE
{
"access_token": "a2b70e12d38b446....4hA7-RLNj0ifU5Q",
"token_type": "Bearer",
"expires_in": 3600,
"refresh_token": "rb4ed9be2b4024......w5RWjVFUQ",
"id_token": "eyJraWQiOiJyQlJmV.......0Df0ihEJiA"
}
JWT
{
"iss": "https://appleid.apple.com",
"aud": "SERVICE_ID",
"exp": 1734606699,
"iat": 1734520299,
"sub": "000000.f7f7c0ac.....db9fad7e19.1111",
"nonce": "NONCE",
"at_hash": "NAfjmciTi2NtmPYIMAgjig",
"email": "abc123@privaterelay.appleid.com",
"email_verified": true,
"is_private_email": true,
"auth_time": 1734520297,
"nonce_supported": true
}
I am trying add Sign in with Apple but when I attempt to capability in my app nothing happens in the list
does apple not able to provide this feature yet in Vision OS or is there any bug or may be ami missing something which does not seems?
The app comes with its own login/signup service and several other social login services.
Even though our app has its own login/sign-up service, if we provide at least one social login service, should we provide Apple Login or another login service with a privacy policy as an equivalent option?
Can you please answer whether I should include the sign in with apple service or the login service with privacy protection in my app?
Our e-learning app has been rejected in App Review regarding compliance with guideline 4.8.0: Login Services. The following were Apple Support's feedback:
The app uses a third-party login service like Google or Facebook, but does not appear to offer an equivalent login option with Sign in with Apple.
Next Steps:
Revise the app to offer an equivalent login option that meets all of the above requirements.
If the app already includes a login option that meets the above requirements, reply to App Review in App Store Connect, identify which login option meets the requirements, and explain why it meets the requirements.
Additionally, it would be appropriate to update the screenshots in the app's metadata to accurately reflect the revised app once another login service has been implemented.
Note that Sign in with Apple meets the requirements specified in guideline 4.8.
Now, regarding their instructions, the following are our queries:
Our mobile app for iOS already has SSO login options for Google and Facebook. Could you clarify what is meant by "an equivalent login option"?
Are there any specific third-party login services other than "Sign in with Apple" that already comply with the requirements in Guideline 4.8?
We are using “Manual sign up/sign in”, “Continue with Google” and “Continue with Facebook” to let users sign up and sign in to our platform. As per the parameters involved with the third-party login, will using sign in with Apple solve the problem related to Guideline 4.8? So is it mandatory under Apple’s Guidelines to include "Sign in with Apple" now, in addition to other SSO options?
If it is mandatory, how is it that many iOS apps do not include the "Sign in with Apple" option?
From a technical perspective, what options are available to satisfy Apple’s guidelines in this regard?
Could manual sign-in/sign-out features of the app cause any conflicts with compliance in this area?
Looking forward to anyone's kind response that can help us resolve this issue. Thanks!
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
Tags:
App Review
Sign in with Apple
App Submission
We recently transferred our app from one developer account to a new one, internally. We're trying to transfer our sign in with apple users, but have hit a snag on the first step.
I'm following the instructions here to "Obtain the user access token": https://developer.apple.com/documentation/sign_in_with_apple/transferring_your_apps_and_users_to_another_team
This is my request as created in postman:
curl --location 'https://appleid.apple.com/auth/token/'
--form 'grant_type="client_credentials"'
--form 'scope="user.migration"'
--form 'client_id="com.XXXXX"'
--form 'client_secret="XXXXX"'
No matter what I try, I always receive invalid_client.
I've uploaded example JWTs in FB15648650.
Hey,
There are two apps, App A and App B.
Both apps do not have Sign in with Apple configured currently, so there are no Sign in with Apple users to transfer. I want to configure this for both apps.
App A is on developer team A.
App B is on developer team B.
They are not on the same developer accounts.
It is my understanding that both accounts need to be on the same developer team/account to get the same unique identifiers (e.g. sub id and private relay email address) for privacy reasons.
Desired Behavior:
When a single user logs into either app A or app B with the newly exposed Sign in with Apple functionality, I need apple to return me the same unique identifiers (e.g. sub and email), so that I can uniquely identify the same user across app A and app B.
How can I do this without ANY customer impact.
Our product uses the “Sign in with Apple” feature, and now we need to transfer it to Apple. After reading the documentation, I still have questions and would like to get answers.
Q1:Transfer App: After the receiving team receives the App, is the unique identifier obtained by the client App program login the original one? Or is it newly generated? If it is newly generated, from what point in time will it be newly generated?
Q2:Transfer App: Is there any validity period for the transfer identifier? About how long? What will happen after the transfer identifier is expired?
Q3:When does the transfer identifier (transfer identifier) start to be generated, when the transfer request is initiated or when the transfer is completed, and when I get the transfer identifier, can I directly exchange it for the receiving team's unique identifier?
Looking forward to a reply, thanks!
Private relay emails are ending up in the spam folder, even though SPF and DKIM are set up correctly.
Hi everyone,
I'm having a recurring issue with the "Sign in with Apple" integration in my web app, and I’m hoping someone here can help or share insights.
Here’s the situation:
I implemented "Sign in with Apple" following the official documentation, and it worked perfectly at first.
After about two weeks, I started getting the "invalid_client" error when redirecting to the authentication page.
I reviewed everything and discovered I hadn’t set up the email configuration properly in the Apple Developer Console. Once I fixed that, it worked fine again.
Now, the same error ("invalid_client") has returned, and I’ve triple-checked every part of my configuration:
The service ID, redirect URIs, and domain settings match exactly.
The client_secret is generated correctly with all required fields (iss, iat, exp, aud, and sub) and signed with ES256.
My server time is synchronized.
Nothing has changed in my code or configuration since it last worked.
This seems to be an issue on Apple’s end because everything was functioning perfectly before, and I’ve already resolved this once by updating settings in the Developer Console.
Has anyone else faced this issue? Is there something I might be missing, or could this be a problem with Apple’s service?
Any advice or guidance would be greatly appreciated!
Hello Developers,
I have ran into a problem while sending mail to apple private relay email. We have built a mobile application where user can sign up through apple and they can sign up using hide-my-email feature. Which provides private relay address for us. Now we want to communicate with them using private relay mail address. The technology we are using to send emails are amazon SES, have done SPF, DMIK, DMARC and added domains in apple identity services for mail communication, passed an SPF check as well. But still mail is not getting delivered
what am i doing wrong or apple doesn't support third party apps for sending emails to private relay? Is there any other way to achieve this please let me know
Using the same body as attached in image is working fine for rest emails.
Topic:
Privacy & Security
SubTopic:
General
Tags:
Sign in with Apple REST API
Privacy
Sign in with Apple
Sign in with Apple JS
https://developer.apple.com/documentation/sign_in_with_apple/revoke_tokens/
As shown in the documentation, when I tested via curl, I received a response with status 200, but when I logged in to account.apple.com with the linked account, it shows that it is still connected.
I would like to know if there is any additional way to verify that the revoke api is working properly.
Topic:
App & System Services
SubTopic:
General
Tags:
Sign in with Apple REST API
Sign in with Apple
Sign in with Apple JS
Hello,
We recently transferred our iOS app from an individual developer account to a corporate account. By following this guide (link), we successfully obtained the transfer identifiers for all our current users and have stored the data fetched from Apple.
Now that the transfer has been completed for about 10 hours, we're attempting to remap the old identifiers to the new ones using this guide (link). Unfortunately, all our requests are returning an 'invalid_request' error. I've noticed others have faced the same problem, but I haven't found a solution yet.
Can anyone help me resolve this issue?
Hi
We use login using apple id feature in our website. However when it comes to apple id, it is possible for user to hide the original email and show a relay email. We have found that this relay email doesn't work
Hence looking for a possible solution to acquire the real email from the user. Is there a possibility in doing that? any help would be greatly appreciated.
Best Regards
Hasintha