gpt4 book ai didi

apple-sign-in - 苹果登录 : Is 'user' credential returned by Apple permanent?

转载 作者:行者123 更新时间:2023-12-01 12:06:09 25 4
gpt4 key购买 nike

我能够成功访问 Apple 返回的凭据,这是它的新(WWDC '19 - iOS 13)使用 Apple 库登录的一部分。
在此委托(delegate)方法中访问凭据:

extension ViewController: ASAuthorizationControllerDelegate {
func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) {
if let appleIDCredential = authorization.credential as? ASAuthorizationAppleIDCredential {
//here is credentials .
}
}
}
然后使用“用户”属性来提取用户 ID:
    credential.user 
//returns, for example, '000046.20082df1df9a41b78cd1552979288e19.2346' dummy value
这个“用户”属性是否被理解为该特定 AppleID(可能还有该特定应用程序)的静态/永久属性?
(我正在访问一个同步 API,并希望从该 44 个字符的 Apple“用户”凭据中硬编码用户凭据。)

最佳答案

ASAuthorizationAppleIDCredential 的用户标识符属性是 Apple ID 和开发团队之间的稳定唯一标识符。应用程序撤销不会影响用户 ID 的稳定性。这也意味着,在开发团队的一组应用程序中,用户 ID 将是相同的,从而使其成为开发人员应用程序之间同步的最佳选择。

编辑应用程序传输:

将应用程序从一个开发团队转移到另一个开发团队确实会导致用户标识符发生变化,因为它的范围是每个团队的稳定用户标识符。

传输使用 Apple 登录的应用程序时的最佳做法是使用 Apple API 端点将旧团队的用户 ID 与新团队的用户 ID 映射。如果由于某种原因开发人员不使用 API 端点,AuthenticationServices 通过接受 ASAuthorizationAppleIDRequest 中的旧用户 ID 来支持应用程序传输。并返回新的用户 ID。

一般来说,AuthenticationServices 会做正确的事。但是,如果用户删除了与团队 A 关联的应用程序(并为该应用程序使用了通过 Apple 登录),然后重新安装现在与团队 B 关联的相同应用程序,则关联两个用户 ID 的唯一方法是使用 API端点。

资料来源:我是负责 Sign in With Apple 团队的一名工程师。

关于apple-sign-in - 苹果登录 : Is 'user' credential returned by Apple permanent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56767794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com