我对文档以及与 Apple 签约时的变量描述中的内容有点困惑。假设我们有一个场景:
- 用户
Sign in with Apple
使用虚假/生成的电子邮件地址。 - 用户在我的应用中切换设备或使用不同的设备。
- 他正在做
Sign in with Apple
,但使用真实的电子邮件地址。
问题:如何知道这是我数据库中的同一个用户?
上面链接的文档表明user
in ASAuthorizationAppleIDCredential
object 是我正在寻找的答案:
var 用户:字符串
与经过身份验证的用户关联的标识符。
但 Xcode 也会在变量描述中显示这一点:
/** @abstract 与用于登录的 AppleID 关联的不透明用户 ID。此标识符将在“开发人员团队”中保持稳定,稍后可用作 @see ASAuthorizationRequest 的输入以请求用户联系信息。
只要用户与请求客户端连接,标识符就会保持稳定。当用户与身份提供者断开连接时,该值可能会发生变化。 */
打开 var 用户:字符串 { 获取 }
这实际上意味着Sign in with Apple
什么as long as the user is connected with the requesting client
。根据该描述,我不确定用户是否可以以某种方式取消注册或更改此值,或者这可能会在设备切换情况下发生?
到目前为止我尝试了什么...
我已经在设备和模拟器中进行了测试,并且user
在开发环境中的值保持不变,但不确定它是多么糟糕 IRL ...