此问题与CakePHP发送错误的URL有关。众所周知,为什么Facebook不喜欢该URL,不清楚在CakePHP中如何解决该URL
尝试对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的设置,该设置似乎没有任何作用。还尝试了互联网上的许多随机事情,这些事情似乎只会破坏更多东西。我现在有点迷路了。
新更新
我已经跟踪了该URL的来源,直到loginBegin
中的hybridauth/Hybrid/Providers/Facebook.php
方法为止,它已经在$this->params['login_done'];
中,尽管我不确定现在在哪里设置。
旧更新
无论我做什么,更新Appcontroller身份验证设置似乎都不会影响此特定URL。我不确定此设置与“ URL登录完成”重定向URL有关,尽管不是完全确定,但我的问题是“ URL开始登录” URL。
答案 0 :(得分:0)
将'base_url'属性添加到HybridAuth
中的/config/hybridauth.php
对象中,以手动设置基本URL。
此外,似乎base_url
是使用$ _SERVER ['HTTPS']创建的,在我当前的环境中,显然没有将其设置为true。可以在login
类的Hybrid_Provider_Adapter
方法中找到。
解决其中任何一个问题都可以解决该问题。