如何从 FBSDKAuthenticationToken 获取 FBSDKAccessToken
How to get FBSDKAccessToken from FBSDKAuthenticationToken
在 LAT FB 登录的情况下,我们只得到 FBSDKAuthenticationToken 而 FBSDKAccessToken 为 nil。
https://developers.facebook.com/docs/facebook-login/limited-login/ios/
FBSDK 登录现在为 iOS 14 使用广告商跟踪标志(用户同意)。
如何从 FBSDKAuthenticationToken 获取 FBSDKAccessToken?或者如何从 FBSDKAuthenticationToken 获取 FB 配置文件?
根据Facebook的this blog post,限制模式和经典模式使用不同的背后认证方式。
受限登录模式基于 OpenID Connect 标准。
经典登录模式使用 oAuth 2.0。
因此,我认为无法通过身份验证令牌获取访问令牌。
但是我们可以在受限登录模式下获取用户的基本资料。 Facebook's documentation 中的一段代码揭示了如何做到这一点。
let loginManager = LoginManager()
// Ensure the configuration object is valid
guard let configuration = LoginConfiguration(tracking: .limited, nonce: "123")
else {
return
}
loginManager.logIn(configuration: configuration) { result in
switch result {
case .cancelled, .failed:
// Handle error
break
case .success:
// getting user ID
let userID = Profile.current?.userID
// getting pre-populated email
let email = Profile.current?.email
// getting id token string
let tokenString = AuthenticationToken.current?.tokenString
}
}
另请注意,受限登录模式不支持GraphAPI。
在 LAT FB 登录的情况下,我们只得到 FBSDKAuthenticationToken 而 FBSDKAccessToken 为 nil。 https://developers.facebook.com/docs/facebook-login/limited-login/ios/
FBSDK 登录现在为 iOS 14 使用广告商跟踪标志(用户同意)。 如何从 FBSDKAuthenticationToken 获取 FBSDKAccessToken?或者如何从 FBSDKAuthenticationToken 获取 FB 配置文件?
根据Facebook的this blog post,限制模式和经典模式使用不同的背后认证方式。
受限登录模式基于 OpenID Connect 标准。 经典登录模式使用 oAuth 2.0。
因此,我认为无法通过身份验证令牌获取访问令牌。 但是我们可以在受限登录模式下获取用户的基本资料。 Facebook's documentation 中的一段代码揭示了如何做到这一点。
let loginManager = LoginManager()
// Ensure the configuration object is valid
guard let configuration = LoginConfiguration(tracking: .limited, nonce: "123")
else {
return
}
loginManager.logIn(configuration: configuration) { result in
switch result {
case .cancelled, .failed:
// Handle error
break
case .success:
// getting user ID
let userID = Profile.current?.userID
// getting pre-populated email
let email = Profile.current?.email
// getting id token string
let tokenString = AuthenticationToken.current?.tokenString
}
}
另请注意,受限登录模式不支持GraphAPI。