使用 Apple 登录 - 如何在第二次使用真实电子邮件注册时识别用户

Jak*_*kub 10 macos ios apple-sign-in asauthorizationcontroller sign-in-with-apple

我对文档以及与 Apple 签约时的变量描述中的内容有些困惑。假设我们有一个场景:

  1. 用户Sign in with Apple使用虚假/生成的电子邮件地址。
  2. 用户在我的应用程序中切换设备或使用不同的设备。
  3. 他正在做,Sign in with Apple但有真实的电子邮件地址。

在此处输入图片说明

问题:如何知道这是我数据库中的同一个用户?

上面链接的文档表明userin ASAuthorizationAppleIDCredentialobject 是我正在寻找的答案:

变量用户:字符串

与经过身份验证的用户关联的标识符。

但 Xcode 也在变量描述中显示:

/** @abstract 与用于登录的 AppleID 关联的不透明用户 ID。此标识符将在“开发人员团队”中保持稳定,稍后可用作 @see ASAuthorizationRequest 的输入以请求用户联系信息。

只要用户与请求客户端连接,标识符就会保持稳定。当用户与身份提供者断开连接时,该值可能会发生变化。 */

打开 var 用户:字符串 { 获取 }

什么actualy在那意味着Sign in with Apple这个as long as the user is connected with the requesting client。根据该描述,我不确定用户是否可以以某种方式注销或更改此值,或者这可能会在设备切换的情况下发生?

到目前为止我尝试了什么...

我已经在设备和模拟器中进行了测试,并且user值在开发环境中保持不变,但不确定它是如何 bahave IRL ...