【问题标题】:How to get FBSDKAccessToken from FBSDKAuthenticationToken如何从 FBSDKAuthenticationToken 获取 FBSDKAccessToken
【发布时间】:2021-05-16 03:04:49
【问题描述】:

在 LAT FB 登录的情况下,我们只是获取 FBSDKAuthenticationToken 而 FBSDKAccessToken 为 nil。 https://developers.facebook.com/docs/facebook-login/limited-login/ios/

FBSDK 登录现在使用 iOS 14 的广告商跟踪标志(用户同意)。 如何从 FBSDKAuthenticationToken 获取 FBSDKAccessToken?或者如何从 FBSDKAuthenticationToken 获取 FB profile?

【问题讨论】:

    标签: 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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-10
      • 1970-01-01
      相关资源
      最近更新 更多