Ios 如何使用Swift 3.0检查Facebook访问令牌是否有效?

Ios 如何使用Swift 3.0检查Facebook访问令牌是否有效?,ios,facebook,validation,Ios,Facebook,Validation,我正在开发一个iOS应用程序,其中包括Facebook登录,我已经完成了登录按钮,但通过Facebook测试,我看到了一个确保令牌有效性的测试,如果无效,请用户再次登录,我想知道如何使用Swift 3.0检查访问令牌是否有效或过期。我不确定您是否需要类似的东西,但几个月前我有义务在我的最终项目中实现一些社交登录。有一个代码我用过,我希望你将能够使用它的某种方式(有检查是授权令牌有效),如果我得到你需要的,它将帮助你。您好。:) 哦,我几乎忘记了-我必须导入FacebookLogin、Facebo

我正在开发一个iOS应用程序,其中包括Facebook登录,我已经完成了登录按钮,但通过Facebook测试,我看到了一个确保令牌有效性的测试,如果无效,请用户再次登录,我想知道如何使用Swift 3.0检查访问令牌是否有效或过期。

我不确定您是否需要类似的东西,但几个月前我有义务在我的最终项目中实现一些社交登录。有一个代码我用过,我希望你将能够使用它的某种方式(有检查是授权令牌有效),如果我得到你需要的,它将帮助你。您好。:)


哦,我几乎忘记了-我必须导入FacebookLogin、FacebookCore和FBSDKLoginKit,tryToLoginWithFB是我自己的方法,它使用我(或我的朋友)的应用程序模块,现在我不确定是谁编写了服务器端应用程序的这部分,但在那种情况下并不重要。:)Ofc这段代码来自客户端iOS应用程序。

我已经修复了它。我在viewDidLoad中使用了一个图形请求,如果令牌无效,它将要求用户重新验证。

这只是让用户登录,但假设用户从其应用设置权限中删除应用,或更改其密码,当他们重新打开你的应用程序时,应该拒绝访问令牌并要求他们再次登录。如果你没有记错,当你删除应用程序或更改密码时,登录停止工作。关于设置中的权限-它不使用Facebook应用程序-您将被移动到您必须登录的网页。我没注意到你必须通过FB应用程序登录。很抱歉回答不好(
    loginButton.isEnabled = false
    if let accessToken = AccessToken.current {
        tryToLoginWithFB(fbToken: accessToken.authenticationToken)
    }   


    let fbLoginManager : FBSDKLoginManager = FBSDKLoginManager()

    fbLoginManager.logIn(withReadPermissions: ["email"], from: self) { (result, error) in
        if (error == nil){
            let fbloginresult : FBSDKLoginManagerLoginResult = result!
            if fbloginresult.grantedPermissions != nil {
                if(fbloginresult.grantedPermissions.contains("email"))
                {
                    self.tryToLoginWithFB(fbToken: AccessToken.current!.authenticationToken)
                }
            }
        }
        else {

        }
    }