【问题标题】:How to get FBSDKAccessToken from FBSDKAuthenticationToken如何从 FBSDKAuthenticationToken 获取 FBSDKAccessToken
【发布时间】:2021-05-16 03:04:49
【问题描述】:
【问题讨论】:
标签:
ios
swift
facebook
facebook-access-token
event-tracking
【解决方案1】:
根据Facebookthis blog post的说法,受限模式和经典模式背后使用了不同的认证方式。
有限登录模式基于 OpenID Connect 标准。
经典登录模式使用 oAuth 2.0。
因此,我认为没有办法通过身份验证令牌获取访问令牌。
但是我们可以在受限登录模式下获得用户的基本资料。来自Facebook's documentation 的代码 sn-p 揭示了如何做到这一点。
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
}
}
另请注意,受限登录模式不支持 Graph API。