Facebook登录:请确保您的redirect_uri与您在OAuth对话框中使用的redirect_uri相同

时间:2016-07-20 09:16:25

标签: javascript php html facebook

所以我没有想法,我不知道要检查或调试什么,但除此之外我得到了这个:

string(188203) "Facebook\FacebookAuthorizationException Object
(
    [statusCode:Facebook\FacebookRequestException:private] => 400
    [rawResponse:Facebook\FacebookRequestException:private] => {"error":{"message":"Error validating verification code. Please make sure your redirect_uri is identical to the one you used in the OAuth dialog request","type":"OAuthException","code":100,"fbtrace_id":"DqCCKoiN0r4"}}
    [responseData:Facebook\FacebookRequestException:private] => Array
        (
            [error] => Array
                (
                    [message] => Error validating verification code. Please make sure your redirect_uri is identical to the one you used in the OAuth dialog request
                    [type] => OAuthException
                    [code] => 100
                    [fbtrace_id] => DqCCKoiN0r4
                )

        )

    [message:protected] => Error validating verification code. Please make sure your redirect_uri is identical to the one you used in the OAuth dialog request
    [string:Exception:private] => 
    [code:protected] => 100

8 个答案:

答案 0 :(得分:5)

我相信您在Facebook应用设置和Oauth API代码中使用了不同的redirect_uri。这就是为什么你得到这个错误。

对于facebook登录,您必须将相同的redirect_uri设置到这两个位置。

答案 1 :(得分:5)

听起来很荒谬,请确认您使用的是正确的app_secret。

Facebook会为您提供此功能,而不仅仅是在响应中说“无效的秘密”

答案 2 :(得分:1)

您可以在以下位置设置重定向URI 转到https://developers.facebook.com/apps 选择您的应用。

在产品下> Facebook登录>设置

  • 启用嵌入式浏览器OAuth登录
  • 设置有效的OAuth重定向URI

您可以使用重定向URI验证程序来验证重定向URI。

您只能使用https URI。 还要在“设置”>“基本”>“应用程序域”中设置应用程序域

在重定向URI的末尾尝试/

在我的情况下,我在各处都使用https://localhost,但是以某种方式获取指定https://localhost/的访问令牌是可行的。

答案 3 :(得分:0)

这意味着您传递给FB的重定向URI(通常在查询字符串中)与您在app settings中设置的重定向不匹配。

答案 4 :(得分:0)

也可能是因为多个斜杠,例如:

https://yoursite.com/auth/facebook/callback -> that's the one you added in the app settings
https://yoursite.com//auth/facebook/callback -> that's what you actually send

答案 5 :(得分:0)

对我来说,它通过替换而起作用

callbackURL: "api/auth/facebook/redirect/",

callbackURL: "http://localhost:3000/api/auth/facebook/redirect/",

new FacebookStrategy

答案 6 :(得分:0)

被同样的问题困扰了很久。 当重定向 url 不匹配或不存在或字段中的格式错误(附加空格或 // )时,无论是 Facebook 应用程序设置还是调用 API 时,您都会收到此错误。
解决方案
对我有用的是,当您添加重定向 URl 时,您可以在有效的重定向身份验证字段中检查它 uf 它在按下检查时不显示有效,而不是该 url 不正确

答案 7 :(得分:0)

确保与您的 FB 设置完全相同。

对我来说,我的设置中有 https://localhost:3000/ 但我的 get access token 调用中有 https://localhost:3000,这就是错误的根源!