【问题标题】:Cannot find HybridAuth redirect URL settings找不到 HybridAuth 重定向 URL 设置
【发布时间】: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 有关,但我并不完全确定。

【问题讨论】:

标签: cakephp cakephp-3.0 cakephp-3.7


【解决方案1】:

将“base_url”属性添加到/config/hybridauth.php 中的HybridAuth 对象以手动设置基本URL。

此外,base_url 似乎是使用 $_SERVER['HTTPS'] 创建的,在我当前的环境中显然没有设置为 true。这可以在Hybrid_Provider_Adapter 类的login 方法中找到。

解决这些问题中的任何一个都应该解决问题。

【讨论】:

    猜你喜欢
    • 2013-07-20
    • 2013-08-28
    • 2012-10-15
    • 2015-03-08
    • 1970-01-01
    • 2011-02-12
    • 2013-02-17
    • 1970-01-01
    • 2021-12-20
    相关资源
    最近更新 更多