如何撤销使用 Apple 登录特定应用程序的凭据?
Posted
技术标签:
【中文标题】如何撤销使用 Apple 登录特定应用程序的凭据?【英文标题】:How to revoke Sign in with Apple credentials for a specific app? 【发布时间】:2020-01-20 21:52:26 【问题描述】:我们正在使用我们的应用程序测试新的Sign in with Apple 功能,在最初的请求中,我们会提供用户的全名和电子邮件地址(如果用户启用了这些选项)。
但是在后续请求中,不会提供此数据,仅提供 identityToken
和 accessToken
。
这使得测试此服务变得困难,因为每次我们想要测试新用户的注册,我们都需要一个新用户帐户。
有没有办法撤销哪些应用程序正在使用通过 Apple 登录的特定 Apple ID?
【问题讨论】:
更大的麻烦在于,Apple App Review 要求您不得通过入职流程自行收集信息(我们刚刚在更新时被应用商店拒绝)。这会产生一个先有鸡还是先有蛋的问题,因为即使我请求它们,我也不能保证我会拥有名称字段。 以下是我们通过应用商店解析中心获得的信息:我们注意到,在用户使用 Sign in with Apple 验证其帐户后,他们需要采取额外的步骤才能访问您的内容和功能应用程序。具体来说: - 您的应用要求用户在使用 Sign in with Apple 后提供其姓名和/或电子邮件地址。 【参考方案1】:您可以从 iPhone 设置中执行此操作。 打开设置应用程序,然后在顶部点击您的姓名。然后按“密码和安全”,然后按“Apple ID 登录”。 它们都应该在那里列出并且可以删除。
【讨论】:
看起来至少在 ios 14 上已更改为Apps Using Apple ID
。【参考方案2】:
我们找到了一种手动方式来实现这一点,这对测试有很大帮助,所以我认为在这里分享会很好:
转到https://appleid.apple.com 并登录
向下滚动到安全 > 使用 APPLE ID 的应用和网站 > 管理
点击相应的应用 > 停止使用 Apple ID
然后点击正确的应用后:
【讨论】:
有没有办法通过 API 做到这一点? 在此之后帐户结果为“未知”,但它不允许用户创建新帐户(它不会返回新的电子邮件和全名) 不再有“使用 Apple ID 的应用和网站”选项 我遇到了一个问题,即我的帐户中缺少此选项。我必须创建另一个运行良好的帐户,但我仍然不知道我以前的帐户出了什么问题。用户的电子邮件地址从未在“损坏”帐户中返回(无论范围如何),因此恐怕用户可能会遇到类似问题【参考方案3】:如果您有 JWT id 令牌,您应该能够对其进行解码并直接从中检索用户信息(姓名/电子邮件)。
例如,您可以访问 https://jwt.ms/ 之类的网站并将 id 令牌粘贴到那里以查看与用户相关的数据。
编辑:经过一些测试,在解码的 JWT 令牌后续登录请求中,用户的名字/姓氏看起来是 not。但是,email 字段 在那里,即使它在 Apple id 凭据中是 null
。
【讨论】:
以上是关于如何撤销使用 Apple 登录特定应用程序的凭据?的主要内容,如果未能解决你的问题,请参考以下文章