ios - 如何在使用苹果功能登录时使用“用户”参数获取电子邮件、姓名等用户信息?
问题描述
Apple 在 WWDC19 上在 iOS 13 和更高版本的 iOS 中引入了 Sign in with apple 功能。我已经在我的应用程序中实现了该功能。
当用户第一次为应用程序进行身份验证时,我们将在下面的委托方法中获取电子邮件、姓名、用户、状态等身份验证信息。
func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) { }
一旦用户成功通过身份验证,Apple 将在 Apple Sign in 下的 iCloud 中维护应用程序信息。
同样,当用户尝试对同一应用进行身份验证时,Apple 将返回用户、状态等。它不应返回名称和电子邮件信息。
有没有办法在上述委托方法中使用该用户参数来获取用户的电子邮件和姓名。
解决方案
根据 Apple 文档,您无法通过在同一设备或任何其他设备上再次执行相同的身份验证过程来再次获取名称或电子邮件,除非用户停止为您的应用程序使用 Sign in with Apple 并稍后重新连接到您的应用程序。即使那样,您也只会第一次得到它。
在此处查看文档
推荐阅读
- python - 使用 ftplib 上传可恢复的 FTP 文件夹
- docker - 尝试连接到本地 Caddy 服务器时出现 SSL 错误
- python - Jupyter Notebook:cmd 错误访问被拒绝(Windows 10)
- wpf - HelixToolkit BillboardSingleImage3D 可以有 alpha 混合图像吗?
- snowflake-cloud-data-platform - 横向加入雪花
- reactjs - 不使用当前状态的反应函数
- python - 需要 LdaMallet 模型可视化的建议
- node.js - 如何在 NodeJS 中使用 Sequelize 执行三表连接
- r - 使用 tmap (tm_bubbles) 调整标签和中断
- python - Comparing pairs of unique column values in pandas