【问题标题】:Is it normal to ask "you have already authorize " through Facebook SDK通过 Facebook SDK 询问“您已经授权”是否正常
【发布时间】:2015-11-18 11:54:06
【问题描述】:

这只是一个问题,如果我使用最新的 SDK 通过 Facebook 登录登录一次,然后我尝试再次登录,它会问我“您已经授权了应用名称”。这是正常的还是我必须改变一些东西来避免它。

在我的场景中,我在 Facebook 应用设置中启用了 SSO,这并不能解决问题!!

每当我的登录窗口显示时,我都会注销 Facebook 并清除访问令牌,首先我想是因为这个,但有人问这个问题,但我省略了代码,但它仍然在问! 有需要我可以贴代码!!!

override func viewDidLoad() {
    super.viewDidLoad()


    fbloginButton.delegate = self
    fbloginButton.readPermissions = ["public_profile", "email", "user_friends"]
    if (FBSDKAccessToken.currentAccessToken() != nil)
    {


        var loginM:FBSDKLoginManager = FBSDKLoginManager()
        loginM.logOut()
        FBSDKAccessToken.setCurrentAccessToken(nil)

    }
    }



 @IBAction  func loginFb(sender:AnyObject)
{



    fbLoginManager.logInWithReadPermissions(["email"], fromViewController: self.presentingViewController, handler: { (result, error) -> Void in
        if (error == nil){
            var fbloginresult : FBSDKLoginManagerLoginResult = result

        }
    })
}

func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) {
    NSLog("didCompleteWithResult")
    if ((error) != nil)
    {

    }
    else if result.isCancelled {


    }
    else {
        // If you ask for multiple permissions at once, you
        // should check if specific permissions missing
        if result.grantedPermissions.contains("email")
        {
            ///Here I call a function to get data
    }

}

【问题讨论】:

  • 是的,请发布代码和解释。
  • @moffeltje.. 我添加了代码。请检查!!!
  • @moffeltje 你找到解决方案了吗?
  • 这可能会有所帮助:stackoverflow.com/a/42375054/3400991

标签: ios iphone facebook swift


【解决方案1】:

自从我使用 Facebook SDK 以来已经有一段时间了,但我认为当您注销时,您只是使您当前的 accessToken 无效并结束您的会话,但它不会取消您的应用程序的授权。

因此,当您登录时,您只需为您已授权的 FB 应用程序生成一个新的 accessToken。您需要再次登录(以验证您的身份),但您不需要再次授权,因此它会向您发送该消息。

有一个 Graph API 调用来撤销权限,如果那是您正在寻找的。​​p>

如果您的问题是这是否“正常”。是的,我会说这很正常。这是一个视觉指示,表明您此时再次与之前授权的 FB 应用程序连接。通过不发送任何权限来避免它可能会起作用,但您通常不知道已经授权的用户是否正在再次登录,或者是一个全新的用户。如果后者在没有权限的情况下登录,那么您的应用也无法正常运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-25
    相关资源
    最近更新 更多