目前,Apple社交登录API没有公开的API URL可以返回用户信息。相反,Apple实现了基于JSON Web Tokens(JWT)的OAuth 2.0验证流程。
以下是一些通用步骤,可以通过Apple ID和Apple服务器返回的授权代码来获取用户信息:
let parameters = ["code": authCode, "grant_type": "authorization_code", "redirect_uri": redirectURI, "client_id": clientID, "client_secret": clientSecret]
https://appleid.apple.com/auth/userinfo
let headers = ["Authorization": "Bearer \(accessToken)"]
let jsonData = response.data(using: .utf8)!
let userInfo = try JSONSerialization.jsonObject(with: jsonData, options: []) as! [String: Any]
let userID = userInfo["sub"] as! String
let email = userInfo["email"] as! String
值得注意的是,用户身份验证后,Apple ID提供程序可能不会返回电子邮件地址,而是一个唯一的用户ID。在这种情况下,可能需要使用其他身份验证机制来获取电子邮件地址(例如,要求用户在应用中手动输入它)。
总之,虽然Apple社交登录API不提供直接的用户信息端点URL,但上面的步骤可以通过JWT验证流程来获取用户信息。