为 Xamarin.Forms 设置使用 Apple 登录

本指南介绍设置跨平台应用程序以使用 Apple 进行高级登录所需的一系列步骤。 虽然 Apple 设置在 Apple 开发人员门户中是直接的,但创建 Android 和 Apple 之间的安全关系需要执行其他步骤。

Apple 开发人员设置

在应用程序中使用 Apple 登录之前,需要解决 Apple 开发人员门户的“证书、标识符和配置文件”部分中的一些设置步骤。

Apple 登录域

在“证书、标识符和配置文件”部分中的“更多”部分中,注册域名并与 Apple 进行验证。

More section

添加域并单击“注册”

register domain form

注意

如果看到有关域不符合 SPF 的错误,则需要将 SPF DNS TXT 记录添加到域并等待它传播,然后再继续:SPF TXT 可能如下所示:v=spf1 a a:myapp.com -all

接下来,需要通过单击“下载”来检索 apple-developer-domain-association.txt 文件,并将其上传到域网站的 .well-known 文件夹来验证域的所有权。

上传 .well-known/apple-developer-domain-association.txt 文件并可访问后,可以单击“验证”让 Apple 验证域所有权。

注意

Apple 将验证 https:// 的所有权。 确保已设置 SSL,并且可通过安全 URL 访问该文件。

在继续之前,请成功完成此过程。

设置应用 ID

在“标识符”部分中,创建新的标识符,然后选择“应用 ID”。 如果已有应用 ID,请选择改为对其进行编辑。

Create a new App ID

启用“使用 Apple 登录”。 您很可能希望使用“启用作为主要应用 ID”选项。

Enable Sign In with Apple

保存应用 ID 更改。

创建服务 ID

在“标识符”部分中,创建新的标识符,然后选择“服务 ID”

Create a new Service ID

为服务 ID 提供说明和标识符。 此标识符将是 ServerId。 请确保启用“使用 Apple 登录”

在继续之前,请单击启用的“使用 Apple 登录”选项旁边的“配置”。

在配置面板中,确保选择了正确的“主应用 ID”

接下来,选择之前配置的“Web 域”

最后,添加一个或多个“返回 URL”。 以后使用的任何 redirect_uri 必须按照你使用的任何在此处进行注册。 输入 URL 时,请确保在 URL 中包含 http://https://

注意

出于测试目的,不能使用 127.0.0.1localhost,但可以使用其他域,如 local.test。 如果选择执行此操作,可以编辑计算机的 hosts 文件,将此虚构域解析为本地 IP 地址。

Configure your Apple Sign In

完成后保存更改。

为服务 ID 创建密钥

在“密钥”部分中,创建新的密钥

为密钥命名,并启用“使用 Apple 登录”

Create a new Key

单击“使用 Apple 登录”旁的“配置”

确保选中正确的“主应用 ID”,然后单击“保存”

单击“继续”,然后“注册”以创建新密钥。

接下来,你只有机会下载刚生成的密钥。 单击“下载”

Download Key

此外,请记下此步骤中的密钥 ID。 它将稍后将用于 KeyId

你将下载 .p8 密钥文件。 可以在记事本或 VSCode 中打开此文件以查看文本内容。 它们应如下所示:

-----BEGIN PRIVATE KEY-----
MIGTAgEAMBMGBasGSM49AgGFCCqGSM49AwEHBHkwdwIBAQQg3MX8n6VnQ2WzgEy0
Skoz9uOvatLMKTUIPyPCAejzzUCgCgYIKoZIzj0DAQehRANCAARZ0DoM6QPqpJxP
JKSlWz0AohFhYre10EXPkjrih4jTm+b0AeG2BGuoIWd18i8FimGDgK6IzHHPsEqj
DHF5Svq0
-----END PRIVATE KEY-----

将此密钥命名为 P8FileContents,并将其保存在安全的位置。 将此服务集成到移动应用程序时,你将使用它。

总结

本文介绍了设置使用 Apple 登录以在 Xamarin.Forms 应用程序中使用所需的步骤。