微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Apple登录

如何解决使用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 举报,一经查实,本站将立刻删除。