Linking Apple Login to Existing User/Password Account on Parse Server 6

Content:

We are using Parse Server 6, which imposes restrictions on client SDKs when performing user queries. I am currently working on linking an Apple logged-in account to an existing user/password account.

Here is the scenario:

  1. When a user logs in with Apple using logInWithAuthType, Apple provides the email (only the first time).
  2. If the email provided by Apple matches the email of an existing user/password account, I want to link the Apple account to that existing user account instead of creating a new one or returning an error.
  3. Currently, when this situation happens, Parse rejects the login and returns an error since there is already a user with that email.

My Questions for the Community:

  1. How can we detect on the server side that the email provided by Apple matches an existing user/password account?
  • Is there a recommended way to handle this scenario given the restrictions on user queries in Parse Server 6?
  1. What is the best approach to link an Apple-authenticated account to an existing user/password account programmatically during logInWithAuthType?
  • Can we achieve this without querying the user table from the client side?
  1. Are there Parse Server configurations, hooks, or Cloud Code solutions that facilitate this type of account linking?

I’d appreciate any guidance on how to achieve a smooth user experience for linking accounts without running into Parse Server restrictions.