【发布时间】:2019-09-08 04:09:29
【问题描述】:
这个问题是关于 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 有关,但我并不完全确定。
【问题讨论】:
-
@ahoffner 我知道这是这个问题,但不是如何在 CakePHP 插件 HybridAuth 的范围内解决它。因此被标记为 cakephp 标签而不是 Facebook 标签。
标签: cakephp cakephp-3.0 cakephp-3.7