找不到 HybridAuth 重定向 URL 设置
Posted
技术标签:
【中文标题】找不到 HybridAuth 重定向 URL 设置【英文标题】:Cannot find HybridAuth redirect URL settings 【发布时间】:2019-09-08 04:09:29 【问题描述】:不是Facebook login message: "URL Blocked: This redirect failed because the redirect URI is not whitelisted in the app’s Client OAuth Settings."的重复项
这个问题是关于 Cakephp 发送错误的 URL。完全理解为什么 Facebook 不喜欢该 URL,不清楚如何在 CakePHP 中修复它
尝试为 Cakephp 使用this HybridAuth plugin,一切似乎都正常,除了重定向 URL 有 http,这是 facebook 不喜欢的。我需要使它成为https。我不知道如何操纵这个值。
https://www.facebook.com/v2.12/dialog/oauth?auth_type=rerequest...redirect_uri=http%3A%2F%2Fwww.example.com%2Fhybrid-auth%2Fendpoint%3Fhauth_done%3DFacebook&scope=email%2Cpublic_profile
这给了我这个错误,这是有道理的:
URL Blocked: This redirect failed because the redirect URI
is not whitelisted in the app’s Client OAuth Settings. Make
sure Client and Web OAuth Login are on and add all your app
domains as Valid OAuth Redirect URIs.
我已经尝试解决这个问题大约两个小时。我试过设置
'hauth_return_to' => [
'controller' => 'Lookings',
'action' => 'find',
'prefix' => false,
'plugin' => false,
'_ssl' => true
]
在 AppController 中对 HybridAuth 进行身份验证设置,这似乎没有任何作用。还在互联网上尝试了很多随机的东西,这些东西似乎破坏了更多的东西。我现在有点迷茫。
新更新
我已经在hybridauth/Hybrid/Providers/Facebook.php
中的loginBegin
方法中跟踪了这个URL 的来源,它在$this->params['login_done'];
中,尽管我现在不确定这是在哪里设置的。
旧更新
无论我做什么,更新 Appcontroller 身份验证设置似乎都不会影响这个特定的 URL。我相信此设置与“URL 登录完成”重定向 URL 有关,我的问题与“URL 开始登录”URL 有关,但我并不完全确定。
【问题讨论】:
Facebook login message: "URL Blocked: This redirect failed because the redirect URI is not whitelisted in the app’s Client OAuth Settings."的可能重复 @ahoffner 我知道这是这个问题,但不是如何在 CakePHP 插件 HybridAuth 的范围内解决它。因此被标记为 cakephp 标签而不是 Facebook 标签。 【参考方案1】:将“base_url”属性添加到/config/hybridauth.php
中的HybridAuth
对象以手动设置基本URL。
此外,base_url
似乎是使用 $_SERVER['HTTPS'] 创建的,在我当前的环境中显然没有设置为 true。这可以在Hybrid_Provider_Adapter
类的login
方法中找到。
解决这些问题中的任何一个都应该解决问题。
【讨论】:
以上是关于找不到 HybridAuth 重定向 URL 设置的主要内容,如果未能解决你的问题,请参考以下文章
如果在 django 的 urls.py 中找不到,则将任何 url 重定向到 404.html
PHP HybridAuth 社交登录根本不起作用。重定向到 ?hauth.start=Facebook&hauth.time