首页 > 解决方案 > 如何在使用苹果功能登录时使用“用户”参数获取电子邮件、姓名等用户信息?

问题描述

Apple 在 WWDC19 上在 iOS 13 和更高版本的 iOS 中引入了 Sign in with apple 功能。我已经在我的应用程序中实现了该功能。

当用户第一次为应用程序进行身份验证时,我们将在下面的委托方法中获取电子邮件、姓名、用户、状态等身份验证信息。

func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) { }

一旦用户成功通过身份验证,Apple 将在 Apple Sign in 下的 iCloud 中维护应用程序信息。

同样,当用户尝试对同一应用进行身份验证时,Apple 将返回用户、状态等。它不应返回名称和电子邮件信息。

有没有办法在上述委托方法中使用该用户参数来获取用户的电子邮件和姓名。

标签: iosswiftapple-sign-insign-in-with-apple

解决方案


根据 Apple 文档,您无法通过在同一设备或任何其他设备上再次执行相同的身份验证过程来再次获取名称或电子邮件,除非用户停止为您的应用程序使用 Sign in with Apple 并稍后重新连接到您的应用程序。即使那样,您也只会第一次得到它。

在此处查看文档


推荐阅读