我正在尝试实现“使用Apple登录”,因为当您有其他第三方登录库时现在需要它。我的问题是,有没有办法让我像从 facebook 和 google 登录一样获取苹果的身份验证 token ?我所能得到的只是来自 ASAuthorizationAppleIDCredential 的身份 token 和授权代码。我不太清楚我们的 API 是用来获取用户信息的。
非常感谢您的回答。
最佳答案
在ASAuthorizationControllerDelegate
获取 token
func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) {
if let appleIDCredential = authorization.credential as? ASAuthorizationAppleIDCredential {
if let data = appleIDCredential.identityToken {
let token = String(decoding: data, as: UTF8.self)
// here send token to server
}
}
}
}
发送token到服务器,必须设置 https://developer.apple.com/documentation/sign_in_with_apple/sign_in_with_apple_rest_api
基于此 token ,您的服务器将从 Apple 获取用户信息,就像获取 Facebook 用户数据一样。
然后您的 api 应根据此数据实现用户身份验证(例如,根据用户电子邮件创建用户帐户并将您的访问 token 返回给应用程序)
关于ios - 使用 Apple 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63719966/