导语:
在WWDC 2019上,Apple宣布使用Apple登录,这是第三方登录的替代方法-Facebook,Twitter,Google等公司长期以来提供的一种机制。那时,我正在开发一个具有使用Facebook和Google登录功能的应用程序。而且由于我发现使用Apple账号登陆的文档非常混乱,因此我无法在正在开发的应用程序中实现它。
几周前,我正在开发的应用程序终于可以上载到App Store了。我测试了所有内容并将其发送给Apple进行审查。可悲的是,该应用程序被拒绝了,我得到了苹果公司的回复,说我必须在应用程序中实施“与苹果公司登录”。
那是真正的挑战开始的时候。我仔细阅读了Apple提供的所有文档(仅导致更多的混乱),示例项目,视频和其他博客-最终弄清楚了。
在本文中,我将向您介绍如何在后端为Django的iOS应用程序中使用Apple登录来实现。但是在此之前,请注意,“使用Apple登录”仅在iOS 13和更高版本中可用,并且只能使用Xcode 11或更高版本来实现。现在,让我们开始。
基本上,整个实施过程可以分为三个部分:
- 配置key和identifier
- 实现登陆的后端
- 在app中实现apple id登陆
配置key和identifier
设置“使用Appl登录”的第一步是在iOS应用的功能列表中添加“使用Apple登录”功能。此步骤中有两种可能的情况:
- 选中“自动管理签名”(自动签名)
- 未选中“自动管理签名”(手动签名)
情况1:已选中“自动管理签名”(自动签名):
如果您在“签名”部分下选中了“自动管理签名”,则意味着我们要做的工作较少。 Xcode将管理其他所有内容。在这种情况下,我们必须:
- 转到Xcode的项目导航器。
- 选择Xcode项目。
- 选择所需的目标。
- 转到“签名和功能”选项卡。
- 点击+功能按钮。
- 选择“使用Apple登录”。 通过完成上述步骤,您将完成为应用添加新功能的自动签名方法。 在自动签名方法中,Xcode将使用Apple登录功能添加到权利中,与开发人员门户同步,并自动为您生成新的配置文件。因此,您的密钥和标识符配置工作已经完成。
情况2:未选中“自动管理签名”(手动签名)
但是,如果您取消选中“自动管理签名”选项,则选择进行手动签名,并且必须遵循以下步骤:
- 转到Xcode的项目导航器。
- 选择Xcode项目。
- 选择所需的目标。
- 转到“签名和功能”选项卡。
- 点击+功能按钮。
- 选择“使用Apple登录”。
完成这些步骤之后,其余步骤为: 7. 将“使用Apple登录”添加到应用ID:在此步骤中,需要完成的任务是:
- 登录到Apple Developer Portal,然后选择“标识符”。
- 选择要在其中添加“使用Apple登录”的应用程序。
- 向下滚动以使用Apple登录,然后选中复选框。
- 单击保存。
默认情况下,此应用程序ID被启用为主要应用程序ID。 (可选)如果您使用多个应用程序或网络身份验证,则可能希望将它们作为一个组分配给该应用程序ID。
- 重新生成配置文件:由于我们已经对应用ID进行了修改,因此现有的配置文件将失效。因此,我们需要按照给定的步骤重新生成它们:
- 转到个人资料。
- 单击与应用程序ID关联的每个配置文件,然后再次保存。
- 可以从门户网站手动下载它,也可以通过Xcode进行下载。
现在,由于标识符已创建并下载,因此已经完成了用于在我们的iOS应用程序中实现使用Apple账号登录的所有设置。
但是,由于当某人尝试使用“使用Apple账号登录”来登录时,由于我们希望iOS应用与后端服务器通信,因此我们必须准备好后端。为了准备好后端,我们需要做的第一件事就是密钥。现在,让我们为后端创建一个密钥:
- 登录到Apple Developer Portal。
- 转到密钥,然后单击“创建密钥”。

- 给它指定一个名称,勾选“使用Apple登录”复选框,然后单击“配置”。

- 选择您的应用程序ID,然后单击“保存”。

- 点击继续

- 单击注册以生成密钥
通过单击下载,下载密钥文件,然后单击完成。
您可以单击“密钥”部分中显示的列表中的密钥,以查看详细信息,包括再次包含密钥ID。我们生成的密钥ID稍后将在后端实现中使用。
现在,我们可以进入第二步,后端代码的开发工作。