如何解决使用Apple登录
我正在尝试使用Apple登录,因为当您拥有其他第三方登录库时,现在需要使用Apple登录。我的问题是,有没有办法像从Facebook和Google登录名一样获取Apple的身份验证令牌?我只能从ASAuthorizationAppleIDCredential获得身份令牌和授权代码。我不太确定使用什么通过我们的API获取用户信息。
非常感谢您的回答。
解决方法
在ASAuthorizationControllerDelegate
获取令牌
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
}
}
}
}
将令牌发送到服务器,必须对其进行设置 https://developer.apple.com/documentation/sign_in_with_apple/sign_in_with_apple_rest_api
,并且基于此令牌,您的服务器将以与获取Facebook用户数据相同的方式从Apple获取用户信息。
然后您的api应该基于此数据实施用户身份验证(例如,根据用户电子邮件创建用户帐户并将您的访问令牌返回给应用)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。