Facebook 授权登录对话后,由于重定向中缺少“状态”参数,CSRF检查失败

Facebook 授权登录对话后,由于重定向中缺少“状态”参数,CSRF检查失败,facebook,oauth-2.0,facebook-oauth,Facebook,Oauth 2.0,Facebook Oauth,我正在使用登录到我的网站,但新用户第一次授权应用程序时总是失败,第二次尝试时总是成功 我发现在用户授权我的应用程序后,重定向url中的状态参数没有传递回我,这导致SDK中我的应用程序中的CSRF检查失败。值得一提的是,代码参数也包括在内 但是,如果他们再次访问对话链接,它将按预期工作-不需要进一步的授权单击,重定向url是正确的,具有状态和代码参数 所以我的问题是: 如何找出授权后重定向中缺少状态的原因 作为参考,我的对话链接如下所示: https://www.facebook.com/dial

我正在使用登录到我的网站,但新用户第一次授权应用程序时总是失败,第二次尝试时总是成功

我发现在用户授权我的应用程序后,重定向url中的状态参数没有传递回我,这导致SDK中我的应用程序中的CSRF检查失败。值得一提的是,代码参数也包括在内

但是,如果他们再次访问对话链接,它将按预期工作-不需要进一步的授权单击,重定向url是正确的,具有状态和代码参数

所以我的问题是:

如何找出授权后重定向中缺少状态的原因

作为参考,我的对话链接如下所示:

https://www.facebook.com/dialog/oauth?client_id=MY_CLIENT_ID&redirect_uri=http%3A%2F%2Fwww.mysite.com%2Fconnect&state=4f246904818d682a742c59cbbced829c&scope=email%2Cuser_likes

正如Igy所说,这是Facebook方面的一个bug,现已修复:

-目前是Facebook bug追踪器中的头号bug,谢谢@Igy。加上这个作为答案,我会接受的。还有,WTF@the close vote