Hello Apple Developer Community and Support,
Our team is encountering a critical and persistent issue with our backend integration of Sign In with Apple, and we are hoping for some insights or assistance.
Problem:
We consistently receive an "invalid_client" error (HTTP 400 status) when our backend service attempts to exchange the authorization code for tokens at Apple's https://appleid.apple.com/auth/token endpoint. The error message from Apple's response is simply {"error":"invalid_client"}.
Our Setup:
Client Application: An iOS native application.
Backend Service: A Go backend responsible for server-to-server token exchange and user management.
Sign In with Apple Flow: The iOS app initiates the Sign In with Apple flow, obtains an authorization code, and then passes this code to our backend for token exchange.
Extensive Troubleshooting Performed (No Success):
We have meticulously followed all official Apple documentation (including TN3107: Resolving Sign In with Apple Response Errors) and industry best practices. Here's a summary of our verification steps, all of which currently show correct configurations and parameters:
Backend client_secret JWT Construction:
We generate a client_secret JWT as required for server-to-server communication.
We've confirmed the claims in the generated JWT are correct:
iss (Issuer): Our Team ID (e.g., XXXXXXXXXX).
sub (Subject): Our Service ID (e.g., com.example.service.backendauth).
aud (Audience): https://appleid.apple.com.
kid (Key ID): The Key ID associated with our .p8 private key (e.g., YYYYYYYYYY).
We have performed rigorous verification of the .p8 private key content itself, ensuring no corruption, extra characters, or formatting issues in the environment variable. Our backend logs confirm it's parsing the correct PEM content.
Token Exchange Request Parameters:
The client_id parameter sent in the POST request to /auth/token is correctly set to our App Bundle ID (e.g., com.example.app.ios), as this is the identifier for which the code was originally issued.
The redirect_uri parameter sent in the POST request to /auth/token is precisely matched to a registered "Return URL" in our Apple Developer Portal (e.g., https://api.example.com:port/api/auth/callback?provider=apple).
Apple Developer Portal Configuration (Meticulously Verified):
App ID: Enabled for "Sign In with Apple".
Service ID: Enabled for "Sign In with Apple". Its "Primary App ID" is correctly linked to our App Bundle ID (e.g., com.example.app.ios). Its "Return URLs" exactly match our backend's redirect_uri (e.g., https://api.example.com:port/api/auth/callback?provider=apple).
Key: Our .p8 key has "Sign In with Apple" enabled. Crucially, in its configuration panel, the "Primary App ID" is correctly linked to our App Bundle ID (e.g., com.example.app.ios). We've ensured this key is specifically created for "Sign In with Apple" and not other services like APNs.
We have performed multiple full revocations and meticulous re-creations of the App ID, Service ID, and Key in the Apple Developer Portal, ensuring correct linkages and using new identifiers to bypass any potential caching issues.
Network & System Health Checks:
Network connectivity from our backend server to https://appleid.apple.com (port 443) has been confirmed as fully functional via ping and curl -v.
The incoming TLS handshake from our iOS client app to our backend server's callback URL (https://api.example.com:port/...) is successful and verified via openssl s_client -connect. There are no longer any TLS handshake errors (EOF).
Our backend server's system clock is accurately synchronized via NTP.
Request for Assistance:
Given that all our visible configurations, environment variables, and request parameters appear to be correct and align with Apple's documentation, and network connectivity is confirmed, we are at a loss for why the invalid_client error persists.
Based on TN3107, this error typically implies an issue with the client secret's signature or its validity for the given client_id. However, our logs confirm correct iss, sub, aud, and kid, and the private key content.
Has anyone encountered this persistent invalid_client error when all checks pass? Are there any less common configurations or troubleshooting steps we might be missing? Could this indicate a caching or propagation delay on Apple's servers, even after waiting periods?
Any insights or guidance would be greatly appreciated. We are prepared to provide detailed, anonymized logs and screenshots to Apple Developer Support privately if requested.
Thank you.
Sign in with Apple
RSS for tagDiscuss how to provide users the ability to sign in to your apps and websites using their Apple ID.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I would like to make an app that uses Sign in with Apple to provide the users with a very convenient way of authenticating their (anonymous) identity.
I'm using the identityToken that the SignInWithAppleButton provides to the onCompletion closure to build an AWS Identity Resolver that will be used to access AWS resources for that user. At the moment, everything works fine, except that the identityToken eventually stops working (I think after 24 hours) and is no longer usable for AWS identity resolvers.
Is there a way to refresh the identityToken, or to generate a new one, without user interaction?
I don't mind at all, if in some situations (eg logout from another device, deletion of account, etc), it cannot refresh the token, and it directs me to take further action by giving an error. Most importantly, I don't want the user to be forced to deal with the SignInWithAppleButton every time that they interact with web services.
From the user's point of view, I would like the experience to be that they simply confirm that they agree to use SignInWithApple on first use (maybe once per device), and are never inconvenienced by it again.
P.S. Sorry for posting this here. I tried to set the topic to "Privacy & Security" and ran into form validation errors.
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
I was experiencing a weird sign in error when using apple sign in with my app and wanted to put it here for anyone else who might experience it in the future, and so apple can make this requirement more clear.
I was using CloudKit and apple sign in. If you are not using both this probably does not apply to you.
Every time I would go to sign in in the iOS simulator I would enter my password, hit "sign in", and everything just froze.
The very odd reason for this is if you are using iCloudKit and apple sign in you need to go to specifically the "identifiers" in the "Certificates, Identifiers & Profiles" menu (https://developer.apple.com/account/resources/identifiers/list). And from there you specifically need an App ID Configuration with apple sign in enabled.
From there you have to have the same exact bundle identifier in Xcode under project settings(not an upper tab just click your project in the left panel). And that should allow you to both pass validation and have your sign in work.
Hope this helps!
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Tags:
CloudKit
Sign in with Apple
iCloud Drive
Hi, preivously on appleid.apple.com, navigating to this page on safari would show the in-app modal to continue with Apple.
Now with account.apple.com, this is not the case. We are not seeing the in-app modal to continue with Apple
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Tags:
Sign in with Apple REST API
Sign in with Apple
Sign in with Apple JS
I have been working on integrate sign in with apple. I failed for a while. So I download the demo app from this link:
https://developer.apple.com/documentation/authenticationservices/implementing-user-authentication-with-sign-in-with-apple
And change the bundle id and add it to my paid apple developer account team.
Then run it and test it on my all device. It always failed with showing sign up not completed and the log like below:
Authorization failed: Error Domain=AKAuthenticationError Code=-7003 "(null)" UserInfo={AKClientBundleID=com.shuaichang.testsignin}
LaunchServices: store (null) or url (null) was nil: Error Domain=NSOSStatusErrorDomain Code=-54 "process may not map database" UserInfo={NSDebugDescription=process may not map database, _LSLine=72, _LSFunction=_LSServer_GetServerStoreForConnectionWithCompletionHandler}
Attempt to map database failed: permission was denied. This attempt will not be retried.
Failed to initialize client context with error Error Domain=NSOSStatusErrorDomain Code=-54 "process may not map database" UserInfo={NSDebugDescription=process may not map database, _LSLine=72, _LSFunction=_LSServer_GetServerStoreForConnectionWithCompletionHandler}
Failed to get application extension record: Error Domain=NSOSStatusErrorDomain Code=-54 "(null)"
ASAuthorizationController credential request failed with error: Error Domain=com.apple.AuthenticationServices.AuthorizationError Code=1001 "(null)"
authorizationController error: The operation couldn’t be completed. (com.apple.AuthenticationServices.AuthorizationError error 1001.)
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
We have integrated Sign in with Apple into our iOS project using the recommended implementation from your documentation,However, we are experiencing issues when testing with the following:
Bundle ID: com.app.xxx
Using real certificates from our Apple Developer account
Issue Details:
On real devices, after entering the Apple ID password, we receive a message saying:
"Sign-up not completed"
On simulators, the flow gets stuck after entering the password no further progress occurs.
We are not receiving any explicit error messages in the console or logs.
We also tested with the official Apple sign-in demo code from the documentation link above, and the same issue occurred.
Our team has confirmed that all necessary configurations have been set correctly, and the same implementation works on other accounts.
We would appreciate your assistance in identifying the root cause and helping us resolve this issue.
Thank you,
When implementing Sign In with Apple I created an App ID and a Service ID for my app. I didn't configure the Server-to-Server Notification URL properly there and token revocation didn't work.
Later on I updated the url config and the name of the identifiers. However, when I Sign in with Apple in my app I still see the old identifier name in my iPhone Settings->Apple Account->Sign in with Apple. I would assume that if the name doesn't update, the configuration doesn't update either.
I'm using automatic Xcode signing, I have deleted all the profiles locally, cleaned project, bumped versions, waited for a week, nothing worked.
Token revocation for account deletion doesn't work properly I would assume because of the initial misconfiguration. I want to mention that this is working fine for my development build (another bundleID, AppID, ServiceID)
What am I missing here?
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Tags:
Sign in with Apple REST API
Sign in with Apple
Sign in with Apple JS
I'm developing a Unity iOS app using the official "Sign In with Apple" Unity plugin (v1.5.0), and I'm encountering persistent errors during authentication. Here’s the full context:
App Info:
Unity version: 6000.0.32f1
Bundle ID: com.pfcgaming.applesignin
Sign In with Apple enabled in the Apple Developer portal
Real iOS device, not simulator
Error Logs:
txt
Copy
Edit
Authorization failed: Error Domain=AKAuthenticationError Code=-7003 "(null)"
UserInfo={AKClientBundleID=com.pfcgaming.applesignin}
ASAuthorizationController credential request failed with error:
Error Domain=com.apple.AuthenticationServices.AuthorizationError Code=1001 "(null)"
Description: The operation couldn’t be completed. No credentials available for login.
What I’ve Done So Far:
Verified "Sign In with Apple" is enabled under the App ID in developer.apple.com.
Provisioning profile has been regenerated with correct entitlements.
Xcode project has the “Sign In with Apple” capability added.
Tested on multiple real iOS devices with iCloud + Keychain enabled.
Tried both PerformQuickLogin() and LoginWithAppleId() approaches in the plugin.
My Observations:
These errors started occurring right after enabling "Sign In with Apple" in the developer portal.
Based on some community feedback, there may be a backend propagation delay after enabling SIWA (Sign In With Apple) which might cause these errors.
Questions:
Is it expected to receive error -7003 or 1001 immediately after enabling SIWA in the Developer Portal?
How long does it typically take for entitlement changes to fully propagate?
Is there any Apple-recommended workaround to test during this wait time?
Any insight or confirmation would be helpful. Thanks in advance!
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
We're integrating Sign in with Apple into our iOS app
The Apple ID login UI appears correctly on real devices, but after tapping Continue, the system immediately stops and shows code 1001.
This issue happens across multiple devices and Apple ID accounts, even with no prior login history.
We’ve confirmed the following
Sign in with Apple is enabled in both Developer Portal and Xcode Capabilities
Automatic signing and provisioning are set correctly
Device is signed into iCloud and system time is synced
Performed clean build, app reinstall, and other standard debugging steps
We suspect that the sign in handshake process may not be completing properly due to some kind of account or server-side restriction, and we’d appreciate any insights into this behavior.
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Tags:
Sign in with Apple REST API
Authentication Services
I am asking about the apple Sign in implementation.
▫️ problems
eas local build or test flight, I get a “Could not complete registration” message.
When I check the console, I see the following error message.
akd SRP authentication with server failed! Error: Error
Domain=com.apple.AppleIDAuthSupport Code=2
UserInfo={NSDescription=<private>, Status=<private>}
▫️ Assumption
・Developed with Expo
・"expo-apple-authentication":"^7.2.4"
・Two apps are developed at the same time, using supabase, firebase, but both have the same error
・On Xcode, on app ids, apple sign in capability is turned on
・Service ids is set to domain, return url
・keys is created
・Internal test of testfligt is set to deliver
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Since a few days, we are hitting AuthorizationError 1000 / 1001 whenever we try to use Sign in with Apple for a new app. We have added entitlements to the app in both release and debug, and setup the services id.
Many other devs are complaining about the same issue lately, and it's possible to reproduce on a fresh app id, see this thread:
https://www.reddit.com/r/flutterhelp/comments/1lf6kmq/sign_in_with_apple_signup_not_completed
I am implementing Apple Sign-In for a multi-platform application, specifically for the web component using the REST API flow.
I am encountering an invalid_request Invalid web redirect url error when attempting to use a newly registered redirect URL.
Here are the details:
Original Test URL: I initially registered a redirect URL, let's call it [Your Original Test Redirect URL, e.g., https://test.yourdomain.com/auth/callback], for testing purposes. This URL worked correctly.
New Service URL: I then registered a second redirect URL, [Your New Service Redirect URL, e.g., https://www.yourdomain.com/auth/callback], intended for my production service. This URL was registered approximately 5 days ago (including the weekend).
The Problem: The new service URL ([Your New Service Redirect URL]) is still not working and consistently returns the invalid_request Invalid web redirect url error.
Puzzling Behavior: Furthermore, I have since deleted the original test URL ([Your Original Test Redirect URL]) from the Service ID configuration in the Apple Developer portal. However, the deleted test URL still appears to function correctly when I use it.
This situation is highly confusing: The newly registered URL is not working after 5 days, while the URL I have deleted from the configuration is still operational.
The Service ID in question is [Your Service ID, e.g., com.yourdomain.service].
Could you please investigate why the new redirect URL ([Your New Service Redirect URL]) is not becoming active and is returning the invalid_request error, and also explain why the deleted URL ([Your Original Test Redirect URL]) remains functional?
Any guidance or assistance you can provide to resolve this issue with the new URL would be greatly appreciated. Thank you for your time and support.
Sincerely,
I have the exact same problem.
The newly registered URL is not working after 5 days, while the URL I have deleted from the configuration is still operational.
In addition to the above problem, I also get a response of 'invalid_client' when I newly register a service in configuration.
Please check it out as it needs to be resolved quickly.
Hi, I've been developing an app with a server. I'm hosting the server on an IPv6-ONLY network that's hidden behind the CloudFlare, so it works flawlessly from the clients point of view, but if server needs to access external resources, they need to be accessible over IPv6. As it turns out, appleid.apple.com doesn't support IPv6, and the Sign In with Apple happens with the help of my server.
So, I can't sign users in as Apple doesn't support IPv6 traffic on appleid.apple.com. Are there any plans to support IPv6 in the near future, or should I work on the networking setup to enable IPv4 just for the Apple SSO? Or maybe there's a clever workaround I'm missing?
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Tags:
Sign in with Apple REST API
Sign in with Apple
Hello.
I have issue with implementing "Sign in with Apple" on my website.
As folow, I have created:
App ID identifier: com.livnobus.app (G2F5N5UHYZ)
Service ID identifier: com.livnobus.client (B25ZN8P84U) with option enabled "Sign in with Apple" and configuration (Primary App ID and Webiste URLs)
Key ID: 43N8XKUW7S with option enabled "Sign in with Apple" and configuration (Primary App ID and Grouped App Ids)
When I click "Sign in with Apple" on my website (https://dev.livnobus.com/auth/login), system redirect me to https://appleid.apple.com/ and error show "invalid_client".
Redirect URL on my web site is:
https://appleid.apple.com/auth/authorize?client_id=com.livnobus.client&redirect_uri=https%3A%2F%2Fdev.livnobus.com%2Fauth%2Fapple%2Fcallback&scope=name%20email&response_type=code&response_mode=form_post&state=eGAgdpLrvskJc26RbTizc9TGwxnL6KAEJOf68pmO&nonce=e7c7a242-1977-47ea-9013-98820c24bfba.eGAgdpLrvskJc26RbTizc9TGwxnL6KAEJOf68pmO
There was old Service ID identifier com.livnobus.app-client, for which I lost private KEY, so I have created new one: com.livnobus.client
With old Service ID com.livnobus.app-client, https://appleid.apple.com/ shows me Apple form for sign in, but with new Service ID com.livnobus.client there is error "invalid_client"
https://appleid.apple.com/auth/authorize?client_id=com.livnobus.app-client&redirect_uri=https%3A%2F%2Fdev.livnobus.com%2Fauth%2Fapple%2Fcallback&scope=name%20email&response_type=code&response_mode=form_post&state=eGAgdpLrvskJc26RbTizc9TGwxnL6KAEJOf68pmO&nonce=e7c7a242-1977-47ea-9013-98820c24bfba.eGAgdpLrvskJc26RbTizc9TGwxnL6KAEJOf68pmO
These changes I have made last Friday, and since then I can't use "Sign in with Apple" on my website.
Thanks!
On Thursday, June 12, 2025, Sign in with Apple was impacted by an incorrect subdomain defined in its /.well-known/openid-configuration file. The JSON returned incorrectly provided https://account.apple.com instead of the expected https://appleid.apple.com.
For Sign in with Apple, the value for the issuer (iss) claim in the user's identity token is https://appleid.apple.com. Additionally, if your clients use the Sign in with Apple REST API, the following endpoints should be used for each request:
https://appleid.apple.com/auth/authorize
https://appleid.apple.com/auth/token
https://appleid.apple.com/auth/revoke
https://appleid.apple.com/auth/keys
This issue with the /.well-known/openid-configuration file was resolved the same day. Use the URL below to confirm the expected subdomain is provided, as needed:
https://appleid.apple.com/.well-known/openid-configuration
Cheers,
Paris X Pinkney | WWDR | DTS Engineer
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Tags:
Sign in with Apple REST API
Sign in with Apple
Sign in with Apple JS
On Wednesday, June 18, 2025, Sign in with Apple was impacted by a configuration issue which affected some developer accounts that created new app or Services ID configurations, or edited existing configurations, resulting in the following errors:
invalid_client response error returned by the authentication, token validation/revocation, and user migration requests
"Sign Up Not Completed" (or equivalent) error presented from the Authentication Services framework.
On Monday, June 23, 2025, this issue was resolved. Please retry the Sign in with Apple flows in your Sign in with Apple enabled apps and websites to confirm your developer account configuration has been fixed.
Please let us know if you can still reproduce this issue with your developer account. If so, follow the steps outlined in the post below:
Gathering required information for troubleshooting Sign in with Apple authorization and token requests
https://developer.apple.com/forums/thread/762831
Finally, reply (not comment) with your Feedback ID on either of the posts below:
https://developer.apple.com/forums/thread/789011
https://developer.apple.com/forums/thread/789132
Cheers,
Paris X Pinkney | WWDR | DTS Engineer
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Tags:
Sign in with Apple REST API
Sign in with Apple
Sign in with Apple JS
We implemented a feature to receive name and email address after Sign in with Apple, and it works perfectly in our testing.
However, during the app review, they says it doesn't work, and the app is rejected.
Why does it work differently?
Hi,
Before I begin my investigation, I want to explain our code-level support process for issues related to Sign in with Apple—as the issue you’re reporting may be the result of any of the following:
An error in your app or web service request.
A configuration issue in your Developer Account.
An internal issue in the operation system or Apple ID servers.
To ensure the issue is not caused by an error within your Private Email Replay configuration, please review Configuring your environment for Sign in with Apple to learn more about registering your email sources and authenticated domains.
To prevent sending sensitive message details 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.
Gathering required information for troubleshooting Private Email Relay with Sign in with Apple
For issues occurring with your email delivery, ensure your feedback contains the following information:
the primary App ID and Services ID
the user’s Apple ID and/or email address
the email message headers
the Private Email Relay Service or Hide My Email message delivery failure, and SMTP error codes
Submitting your feedback
Before you submit to Feedback Assistant, please confirm the requested information above 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 in your existing Developer Forums post 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
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Tags:
Sign in with Apple REST API
Sign in with Apple
Sign in with Apple JS
As I had mentioned earlier, I was facing two issues after the initial update, but I’m happy to inform you that both of those issues have now been resolved.
However, after updating to iOS 26.0 (23A5297m), I’ve started experiencing a new issue related to overheating. Since yesterday, my iPhone has been getting extremely hot while charging. It also became very hot after clicking just a few photos. The same heating issue occurred again today during charging. This problem only started after the latest update.
Kindly look into this issue and advise on how to resolve it.
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
I have two applications, and I recently decided to add the Apple Sign In feature.
Initially, I configured it for one of the apps as the Primary ID for this feature. Everything worked well, and I decided to add it to the second app. I made a mistake and used the First app as Primary ID using the "Group with an existing primary App ID" flag. Now, when I sign in using the second app, I don't see it in the list of apps in iPhone Settings for Apple Sign In; I only see the primary app. And with that, I no longer see a prompt for sharing/hiding email, and I am unable to revoke credentials correctly.
I decided to change the Second app's Sign-in config and set it as the Primary ID for the feature. I was hoping to get two apps independent for the SignIn. However, it doesn't seem to make a difference. The second app behaves the same way, as long as the first app used SignIn, the second one always thinks that the user has already used that feature and never shows the correct prompt.
Is there something I missed after changing the Configuration?