“URL 被阻止:此重定向失败,因为重定向 URI 未在应用程序的客户端 OAuth 设置中列入白名单。”但在本地工作
Posted
技术标签:
【中文标题】“URL 被阻止:此重定向失败,因为重定向 URI 未在应用程序的客户端 OAuth 设置中列入白名单。”但在本地工作【英文标题】:“URL Blocked: This redirect failed because the redirect URI is not whitelisted in the app’s Client OAuth Settings.” But works locally 【发布时间】:2020-03-27 09:35:30 【问题描述】:我在这里遇到问题Facebook login message: "URL Blocked: This redirect failed because the redirect URI is not whitelisted in the app’s Client OAuth Settings."
我已经检查了各种答案 - 无法使其工作,并且他们没有提供太多新的 - 实际上只是说将 url 添加到该字段。
其中一位说“确保您的应用 ID 和密钥正确无误”。 我发现它们没有设置,但现在管理员说他添加了这些,所以应该没问题。
还有什么可做的?如何调试?
“URL 被阻止:此重定向失败,因为重定向 URI 未在应用的客户端 OAuth 设置中列入白名单。确保启用客户端和 Web OAuth 登录,并将您的所有应用域添加为有效的 OAuth 重定向 URI。”
它还告诉检查客户端和 Web OAuth 以进行,但我将它们关闭以提高安全性,因为我已经阅读或观看了 Facebook 文档中的某处。并且由于登录在本地工作且它们已关闭,因此不需要它们。我通过尝试打开它们进行了测试,但正如我预期的那样,它们并没有解决问题。
更新: 重定向uri参数为redirect_uri=https%3A%2F%2Falpha.vop.veracityinsurance.com%2Fconnect%2Ffacebook%2Fcheck
制作视频:https://www.loom.com/share/88e607aece6b45489214d95ee01bbb0b
我已经制作了调试功能并将其推送到打印提供者的服务器:
$provider = (array)$this->clientRegistry->getClient('facebook_main')->getOAuth2Provider();
print_r($provider);
从那个类中我看到应用程序 ID 在服务器中是正确的。
config.yml
knpu_oauth2_client:
clients:
# the key "facebook_main" can be anything, it
# will create a service: "knpu.oauth2.client.facebook_main"
facebook_main:
# this will be one of the supported types
type: facebook
client_id: '%env(CONFIG__OAUTH__FACEBOOK__ID)%'
client_secret: '%env(CONFIG__OAUTH__FACEBOOK__SECRET)%'
# the route that you're redirected to after
redirect_route: connect_facebook_check
redirect_params:
graph_api_version: v5.0
顺便说一句,我正在使用 symfony 捆绑包进行集成 https://github.com/knpuniversity/oauth2-client-bundle
【问题讨论】:
当然,您需要将 Client OAuth Login 和 Web OAuth Login 设置为 on……毕竟,通过 Web 登录是您想要做的,不是吗? 您何时收到消息,何时将显示登录对话框,或者之后何时将代码交换为令牌?登录对话框调用中的 redirect_uri 参数的确切值是多少? (检查浏览器地址栏。) @04FS - 为什么?它适用于我的机器。我也在我的机器上通过网络登录。 @04FS - 在我的例子中没有登录对话框。用户点击了我的方法的链接。然后我的方法重定向到 facebook。我正在使用这个包:github.com/knpuniversity/oauth2-client-bundle 当然,因为这正是他们的目的。我无法告诉你为什么关闭这些功能甚至不应该工作,似乎“在你的机器上”工作,因为到目前为止你提供的关于你实际在做什么的信息很少。 (或者您可能仍在使用与您想象的不同的应用 ID。) 【参考方案1】:使它像 04FS 所说的那样工作以打开设置。只打开其中一个就足够了 - Web OAuth Login。
【讨论】:
以上是关于“URL 被阻止:此重定向失败,因为重定向 URI 未在应用程序的客户端 OAuth 设置中列入白名单。”但在本地工作的主要内容,如果未能解决你的问题,请参考以下文章
“URL 被阻止:此重定向失败,因为重定向 URI 未在应用程序的客户端 OAuth 设置中列入白名单。”但在本地工作
Facebook 登录消息:“URL 被阻止:此重定向失败,因为重定向 URI 未在应用程序的客户端 OAuth 设置中列入白名单。”