多个应用程序在同一个登录 Apple

问题描述

我有几个应用程序(约 20 个)并且我希望能够在每个应用程序中使用相同的帐户登录;这些应用属于同一个 Apple Developer 帐户。

用户在其中一个应用程序中创建帐户时,这将允许访问应用程序并在它们之间同步内容(它创建某种组织帐户)。然后可以在他们之间共享该帐户。

此流程已适用于自定义实施的电子邮件+密码身份验证和 Facebook 登录方法,但现在我需要介绍使用 Apple 登录,但我遇到了一些问题。

在 App Store Connect 中尝试在同一个应用程序下添加多个应用程序时,出现以下错误

已与此主要应用关联的应用数量已达到上限。最大限制:'5'

如何将所有约 20 个应用组合在一起,以便识别从不同应用登录的同一用户

解决方法

从你的问题来看,我认为苹果对链接应用程序设置的限制无法改变。但我建议您向 Apple 的开发者支持团队发送电子邮件,询问他们是否允许 20 个应用共享相同的帐户信息,而不是目前最多 5 个。

除此之外,这就是我的想法:我不确定您的应用。我知道有些应用程序将允许用户更改他们的用户名。在这种情况下,您可以将其从用户名更改为昵称,并分配一个新用户名(可以是旧用户的旧昵称或他们的电子邮件地址)。并使用户名不变。据我所知,当用户使用 Apple 登录时,您可以要求他们输入一些信息。在这种情况下,您可以要求他们输入一个用户名,该用户名稍后将成为其他应用程序中的通用用户名。这是我目前想到的解决方案。

,

我能够在 WWDC21 期间与 Apple 工程师取得联系 - 登录 Apple 专用实验室,他们向我解释了如何解决此问题。

将多个应用添加到同一个 App ID 是针对同一目标但在不同平台上运行的应用(例如 iOS 应用、macOS 应用、watchOS 应用等)。

解决方案是启用每个应用作为使用 Apple 登录的主要 ID

当从应用程序中触发 Sign in with Apple 请求时,这会返回一个 JWT 令牌,该令牌将用于在您的后端进行身份验证创建/识别。

此令牌包含一个唯一用户 ID,位于 sub 键下,该 ID 由您的团队/开发者帐户 ID 和用户的 Apple ID 组合而成;

此值在您的开发者帐户中是唯一的,这意味着用户 Apple ID 和与您的应用相关联的团队 ID 的组合将始终为 sub 字段生成相同的值。这将跨应用识别用户,以便您的后端可以避免生成新帐户,而是返回现有的关联帐户。