Apple User Identifier Uniqueness Question

  1. SDK Version: 35.0.0
  2. Platforms(Android/iOS/web/all): iOS

tl;dr:

Should I expect Apple User Identifier to be the same cross-device?

Apple’s Sign-In Documentation (https://developer.apple.com/documentation/signinwithapplerestapi/authenticating_users_with_sign_in_with_apple) states that

“After the user logs in to your app using Sign in with Apple on one of their devices, they can sign in to your app on all of their devices.” however, the Simulator is returning a completely different User Identifier, despite both Simulator and physical device using the same AppleID.

Preconditions:

  • Apple Sign In is implemented (this works fine as long as I stay on the same device)
  • User uses same AppleID on multiple devices; e.g. iPad, iPhone, or in my case iPhone and Simulator.

Test Case:

  • Sign in with Apple on Device A; Apple response object returns xxx.xxx.xxx for user id.
  • Sign in with Apple on Device B; Apple response object returns yyy.yyy.yyy for user id.

Expected Result: Both responses returning the same Identifier
Actual Result: Identifiers are different.

My backend is configured to key off this Identifier to associate whatever data to the user, but in this case, a different identifier means a new user is created.

I don’t currently have access to a secondary physical device to test this with, and if it’s a limitation of the Simulator it’s perfectly fine, but I want to get ahead of a potential issue where users use the app on an iPad and an iPhone or one of n iPhones, etc.

Many thanks y’all! Wasn’t sure where to ask, and I recognize that this is in Apple’s Realm, but maybe someone here ran into the same question and understands.

Confirmed on a borrowed secondary device. User Identifier was unique/same in TestFlight instance of the app. Question withdrawn.

If only I could close this now :).

1 Like

You ought to be able to mark your second post as the solution.

1 Like

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.