Hi everyone,
I have followed all the Apple procedures, read the forums, and looked at various experiences of other users who had my problem, but I haven’t found a solution.
On my site, I have added login with all the “big” providers, and Apple is the only one missing. I’ve tried everything, but when the user logs in and is authenticated, I get an error. In order, here’s what I receive:
Received Apple code: cfbf091dd6...
JWT generated correctly
HTTP Error (400): {"error":"invalid_client"}
I’ve read all sorts of things, including that you have to wait up to 48 hours for the Key to be enabled.
Any ideas? I’ve read that this is a common problem, but I haven’t found a valid solution.
Thanks in advance to anyone who can help me.
Prioritize user privacy and data security in your app. Discuss best practices for data handling, user consent, and security measures to protect user information.
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 received Apple’s recent notice about the new requirement to provide a server-to-server notification endpoint when registering or updating a Services ID that uses Sign in with Apple.
(Official notice: https://developer.apple.com/news/?id=j9zukcr6
)
We already use Sign in with Apple on our website and app, but only as a login method for pre-registered users, not as a way to create new accounts.
That means users already exist in our system, and Apple login is used only for authentication convenience (similar to linking a social account).
I have some questions about how to properly implement the required server-to-server notifications in this case:
1. email-enabled / email-disabled:
We don’t use or store the email address provided by Apple.
Are we still required to handle these events, or can we safely ignore them if the email is not used in our system?
2. consent-revoked:
We don’t store Apple access or refresh tokens, we use them only during login and discard them immediately.
In this case, do we still need to handle token revocation, or can we simply unlink the Apple login from the user account when receiving this notification?
3. account-delete:
If a user deletes their Apple account, we can unlink the Apple login and remove related Apple data,
but we cannot delete the user’s primary account in our system (since the account exists independently).
Is this acceptable under Apple’s requirements as well?
We want to make sure our implementation aligns with Apple’s policy and privacy requirements, while maintaining consistency with our existing account management system.
If anyone from Apple or other developers who implemented similar logic could provide guidance or share examples, it would be greatly appreciated.
Thank you!
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Tags:
Sign in with Apple REST API
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?
Is there a way (in code or on the OAuth2 server/webpage) to specify the desired window size when using ASWebAuthenticationSession on macOS? I haven't found anything, and we would prefer the window to be narrower. For one of our users, the window is even stretched to the full screen width which looks completely broken…
Dear Apple Support Team,
I hope this message finds you well.
Our tech team is currently working on integrating the Apple Sign-In feature, and we have a specific query where we would appreciate your guidance.
Background Context:
We have several applications across different brands and are aiming to implement a unified sign-up and sign-in experience. Currently, we are utilizing a shared website to enable single sign-in functionality across all these applications.
Our Query:
If we embed the same website in all of these applications and implement the Apple Sign-In within this website—using a dedicated Service ID that is configured with the App Store name and icon—will users consistently see the Apple Sign-In pop-up with the Service ID’s name and icon, regardless of which base application (e.g., App A, App B, etc.) the website is accessed from?
We would like to ensure a seamless and consistent user experience and want to confirm that the branding within the Apple Sign-In prompt will reflect the Service ID’s configuration, rather than that of the hosting app.
Looking forward to your guidance on this matter.
Can someone please guide me on the entire process of integrating ads in an IOS application using google's admob sdk? Not related to code but things related to Apple's privacy policy. Which options do need to select or specify in my app profile's privacy policy (identifier) section?
Hello
I'm using Auth0 for handling auth in my app
When the user wants to sign in, it will show the auth system pop-up
And when the user wants to log out it shows the same pop-up
My issue is how to replace the Sign In text in this pop-up to show Sign Out instead of Sign In when the user wants to sign out?
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
we develop extension "Autofill Credential Provider" function for passkey.
1.first step registe passkey
2.second step authenticate with passkey
step 1 & step 2 has finished and run success with provideCredentialWithoutUserInteraction.
But we want to prepare our interface for use to input password and select passkey what the want. however the func prepareInterfaceToProvideCredential in ASCredentialProviderViewController does call? what i missed? how can i do it?
Hi,
Xcode Instruments shows multiple Points of Interest with the information that the framework is not listed in my Privacy Manifest.
However, I have already included them in the Privacy Manifest under the privacy tracking domains.
I have this problem with every tracking domain i listed in the Privacy Manifest's Privacy Tracking Domains.
Did I make a mistake in my Privacy Manifest declaration?
Hello,
I have a question regarding the lifecycle of user consent and tokens in "Sign in with Apple." Specifically, I would like to understand the behavior of the auth/revoke API in relation to App Store Connect status changes.
Impact of App Status Changes If an app is "Removed from Sale" or "Deleted" from App Store Connect, does Apple automatically revoke all associated user tokens and consent? Or is it still the developer's responsibility to programmatically revoke each user's token via the REST API to ensure the app is removed from the user’s "Apps Using Apple ID" list?
API Availability after Removal Once an app is no longer available on the App Store (or its record is deleted in App Store Connect), is the auth/revoke REST API still accessible? I want to ensure that a developer can still perform necessary privacy clean-up tasks (revoking consent) even if the app is not currently distributed.
Specific User Impacts of Non-Revocation If we do not call the revocation API, besides the app remaining in the "Sign in with Apple" list, what are the specific consequences for the user?
Thank you for your guidance.
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
WebAuthn Level 3 § 6.3.2 Step 2 states the authenticator must :
Check if at least one of the specified combinations of PublicKeyCredentialType and cryptographic parameters in credTypesAndPubKeyAlgs is supported. If not, return an error code equivalent to "NotSupportedError" and terminate the operation.
On my iPhone 15 Pro Max running iOS 18.5, Safari + Passwords does not exhibit this behavior; instead an error is not reported and an ES256 credential is created when an RP passes a non-empty sequence that does not contain {"type":"public-key","alg":-7} (e.g., [{"type":"public-key","alg":-8}]).
When I use Chromium 138.0.7204.92 on my laptop running Arch Linux in conjunction with the Passwords app (connected via the "hybrid" protocol), a credential is not created and instead an error is reported per the spec.
On Tahoe and earlier, ScreenCapture permissions can disappear and not return. Customers are having an issue with this disappearing and when our code executes CGRequestScreenCaptureAccess() nothing happens, the prompt does not appear.
I can reproduce this by using the "-" button and removing the entry in the settings, then adding it back with the "+" button. CGPreflightScreenCaptureAccess() always returns the correct value but once the entry has been removed, CGRequestScreenCaptureAccess() requires a reboot before it will work again.
Hello,
I am currently process of migrating an app from Team A to Team B and attempting to generate transfer identifiers using the migration endpoint:
POST https://appleid.apple.com/auth/usermigrationinfo.
Content-Type: application/x-www-form-urlencoded
However, I am consistently receiving an
{
"error": "access_denied"
} response.
[Current Configuration]
Team A (Source):
Primary App ID: com.example.primary
Grouped App IDs:
com.example.service (Services ID for Web)
com.example.app (App ID for iOS - The one being transferred)
All identifiers are under the same App Group.
Team B (Destination):
New App ID and Key created.
[Steps Taken]
Created a Client Secret (JWT) using Team A's Key ID and Team ID.
The sub (subject) in the JWT is set to the Primary App ID of Team A.
Requesting with client_id (Primary App ID), client_secret (JWT), and user_token.
[Questions]
1. App Group Impact: Does the fact that the App being transferred is a Grouped App ID (not the Primary) affect the usermigrationinfo request? Should I use the Primary App ID or the specific Grouped App ID as the client_id?
2. Ungrouping Safety: If I need to ungroup the App ID from the Primary App ID to resolve this:
Will existing users still be able to sign in without issues?
Is there any risk of changing the sub (user identifier) that the app receives from Apple?
Will this cause any immediate service interruption for the live app?
Any insights on why access_denied occurs in this Primary-Grouped configuration would be greatly appreciated.
this is my monitor image that shows DeviceCheck api responding very slowly.
hello, I'm writing to seek clarification on Apple account security, particularly regarding potential risks of compromise, implemented safeguards, and residual risks with corresponding mitigation strategies. We would appreciate your insights on the following specific points:
iCloud Keychain Access: Is an Apple ID login strictly required to access iCloud Keychain? We understand that a compromise of iCloud Keychain is unlikely unless a malicious actor successfully takes over the legitimate user's Apple ID. Is this understanding correct?
Passkey Theft Methods and Protections: What are the conceivable methods a malicious actor might employ to steal a legitimate user's passkey, and how are these attempts protected against?
Impact of Apple ID Compromise on Passkeys: If a malicious actor successfully compromises a legitimate user's Apple ID, is it accurate to assume that the legitimate user's passkeys would then synchronize to the attacker's device, potentially allowing them to log in using their own biometrics?
Authorization Flow on Legitimate User's Device: Could you please detail the authorization flow that occurs on the legitimate user's device? We are particularly interested in the types of authentication involved and the conditions under which they are triggered.
Detection and Additional Authentication for Unauthorized Login: How are attempts to log in to an Apple ID from an unrecognized device or browser detected, and what additional authentication steps are implemented in such scenarios?
Thank you for your time and assistance in addressing these important security questions.
When presenting a cookie banner for GDPR purposes, should ATT precede the cookie banner?
It seems that showing a Cookie Banner and then showing the ATT permission prompt afterwards (if a user elects to allow cookies/tracking) would be more appropriate.
Related question: Should the “Allow Tracking” toggle for an app in system settings serve as a master switch for any granular tracking that might be managed by a 3rd party Consent Management Platform?
If ATT is intended to serve as a master switch for tracking consent, if the ATT prompt is presented before a cookie banner, should the banner even appear if a user declines tracking consent?
I’m not finding any good resources that describe this flow in detail and I’m seeing implementations all over the place on this.
Help!
Thanks!!!
Please correct the following issues and upload a new binary to App Store Connect.
ITMS-91061: Missing privacy manifest - Your app includes “Frameworks/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics”, which includes FirebaseCoreDiagnostics, an SDK that was identified in the documentation as a commonly used third-party SDK. If a new app includes a commonly used third-party SDK, or an app update adds a new commonly used third-party SDK, the SDK must include a privacy manifest file. Please contact the provider of the SDK that includes this file to get an updated SDK version with a privacy manifest. For more details about this policy, including a list of SDKs that are required to include signatures and manifests, visit: https://developer.apple.com/support/third-party-SDK-requirements.
ITMS-91061: Missing privacy manifest - Your app includes “Frameworks/FBLPromises.framework/FBLPromises”, which includes FBLPromises, an SDK that was identified in the documentation as a commonly used third-party SDK. If a new app includes a commonly used third-party SDK, or an app update adds a new commonly used third-party SDK, the SDK must include a privacy manifest file. Please contact the provider of the SDK that includes this file to get an updated SDK version with a privacy manifest. For more details about this policy, including a list of SDKs that are required to include signatures and manifests, visit: https://developer.apple.com/support/third-party-SDK-requirements.
ITMS-91061: Missing privacy manifest - Your app includes “Frameworks/GoogleDataTransport.framework/GoogleDataTransport”, which includes GoogleDataTransport, an SDK that was identified in the documentation as a commonly used third-party SDK. If a new app includes a commonly used third-party SDK, or an app update adds a new commonly used third-party SDK, the SDK must include a privacy manifest file. Please contact the provider of the SDK that includes this file to get an updated SDK version with a privacy manifest. For more details about this policy, including a list of SDKs that are required to include signatures and manifests, visit: https://developer.apple.com/support/third-party-SDK-requirements.
our app is .NET MAUI app so we already addressed this by adding privacyinfo.xcprivacy privacy manifest under platform/ios/resources but still get flagged for this
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyTracking</key>
<false/>
<key>NSPrivacyTrackingDomains</key>
<array/>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>C617.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>35F9.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryDiskSpace</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>E174.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
</dict>
</array>
<key>NSPrivacyCollectedDataTypes</key>
<array/>
</dict>
</plist>