【发布时间】:2022-06-16 03:08:07
【问题描述】:
Apple 抱怨我的应用程序,因为我没有调用其余端点撤销令牌来删除帐户。 我必须按照本文档中的说明进行操作:https://developer.apple.com/documentation/sign_in_with_apple/revoke_tokens
要拨打电话,我需要获取 client_id、client_secret 和 token。 我的应用程序中的登录过程由 Firebase 管理,当用户执行登录时我不会保存此信息。 因此,我需要从 IOS 上的 Firebase 身份验证中恢复这 3 个参数,以调用该撤销令牌端点。
IOS 上的 Firebase 身份验证 API 中可能有一个方法为我调用 Apple 端点 revoke_token,但我没有看到它。请告诉我,因为这样会好很多。
我这样解决了我的问题:
要生成 client_secret,我使用的是后端服务器。需要一个必须放在安全位置的密钥文件,并且用户设备不是一个。
其他 2 个参数我们在下面给出了第三个 client_secret 的好主意的响应。这个想法是为那些没有后端服务器的人创建一个 Firebase 函数。
创建client_secret的规则可以在这里找到:Creating the Client Secret在页面末尾。
【问题讨论】:
-
client_id, client_secret不是您恢复的东西,它是您的捆绑包 ID,并且客户端密码已构建和签名。 Firebase 很可能永远不会提供执行此操作的方法,因为签名需要您的私钥作为密钥。 stackoverflow.com/questions/72476140/… -
@loremipsum Firebase 已经通过推送通知做到了这一点。我们生成通知密钥文件,并发送给FB,FB使用我的密钥发送通知。在我看来,应该可以对注销流程做同样的事情。
-
您可以提交功能请求。我不会指望它。这个 API 不是新的,需求已经很久了。但谁知道……
-
我们如何获得
token?来自这个 API appleid.apple.com/auth/token? -
当用户认证你得到令牌。查看此 FB 文档上的 idTokenString firebase.google.com/docs/auth/ios/apple
标签: ios swift firebase firebase-authentication sign-in-with-apple