从应用程序注销Apple帐户

问题描述 投票:0回答:1

我正在开发一个统一游戏,我实现了 GPGS 身份验证,它提供了一个选项,可以在登录后注销帐户。我还使用 this 插件实现了 Apple 身份验证,但它没有提供任何注销选项。

经过一些研究,我发现苹果实际上根本没有提供任何从单个设备上注销帐户的选项。

现在有2个选项:

  • 使用对 https://appleid.apple.com/auth/token/revoke 的 POST 请求撤销授权。这里的问题是它将从使用该帐户登录该游戏/应用程序的所有设备注销。
  • 向 PlayerPrefs 添加标志(只是持久性)。在这里,如果玩家选择退出,我们将“SignOutFlag”键设置为 0。当玩家使用不同的信用(或相同的)登录时,我们将其设置为 1。基本上是一个通用的标志逻辑。

我不喜欢这两种选择。还有其他选择吗? (ChatGPT 其实也是这么说的)

我期待的是,当我要求

getCredentialStateForUserID
时注销后会返回
Revoked

荣誉奖: 我在所有后端/服务器/POST 方面都很弱,我最大的优势是使用 sdk 或插件,但如果有任何优雅的方法来解决这种情况,我愿意研究。

ios authentication unity3d
1个回答
0
投票

到目前为止,我还没有找到任何注销选项。 Apple 文档 谈论了很多关于用户身份验证和登录的内容。登录也记录在这里。 展望未来,github 上关于退出 React Native Apple 身份验证的论坛帖子 说他们不能这样做。用户 ajw-m 得到了 Apple 支持部门的回复,并将其发布在here,说:This behavior is designed;使用 Apple 登录提供了一种机制,可以使用用户的 Apple ID 为特定应用程序授权用户。要删除对应用程序的访问权限,用户必须通过以下支持页面手动撤销其凭据https://support.apple.com/en-us/HT210426

阅读更多,Apple API 似乎不提供注销。因此,其他插件或框架显然也无法将您从会话中注销。这可能是一种安全措施,因为如果您不小心(例如被欺骗)安装在您的设备上的恶意软件将使您注销并允许恶意攻击者接管您的设备和帐户。

然后,您可以使用 revoke_tokens 手动调用他们的 API。这是就 API 支持而言。 手动处理是通过 Apple 设备完成的,您可以在其中查看哪些应用程序或服务使用了您的云 AppleId 帐户并强制注销它们。

© www.soinside.com 2019 - 2024. All rights reserved.