Php 缺少重定向uri参数&;使用hybridauth时授予类型无效
我在我的谷歌项目和facebook上的登台应用程序中设置了一些凭据,使用每个凭据的正确凭据,并在我的php应用程序中使用Hybridauth,我不断收到facebook的“缺少重定向uri参数”错误和google的“无效授权类型”错误。在我的本地设置中,使用谷歌和facebook的不同凭据集都能完美地工作。当我交换凭证并上传到登台服务器时,我才发现这个问题。任何帮助都很好,谢谢你Php 缺少重定向uri参数&;使用hybridauth时授予类型无效,php,hybridauth,Php,Hybridauth,我在我的谷歌项目和facebook上的登台应用程序中设置了一些凭据,使用每个凭据的正确凭据,并在我的php应用程序中使用Hybridauth,我不断收到facebook的“缺少重定向uri参数”错误和google的“无效授权类型”错误。在我的本地设置中,使用谷歌和facebook的不同凭据集都能完美地工作。当我交换凭证并上传到登台服务器时,我才发现这个问题。任何帮助都很好,谢谢你 class HybridAuth { /** * @return
class HybridAuth {
/**
* @return
*/
public function getUserProfile($platform = 'facebook', $withBooking = false) {
$withBooking = ($withBooking) ? '&withBooking=true' : '';
$config = [ 'callback' => config('app.url.fullyQualifiedDomain') . '/auth/social-login?platform=' . $platform . $withBooking,
'keys' => ['id' => config('vendors.' . $platform . '.keys.appId'),
'secret' => config('vendors.' . $platform . '.keys.appSecret')]];
$hybridauth = $this->$platform($config);
try {
$hybridauth->authenticate();
$isConnected = $hybridauth->isConnected();
if($isConnected){
$userProfile = $hybridauth->getUserProfile();
$hybridauth->disconnect();
return $userProfile;
}
return false;
} catch(\Exception $e) {
trigger_error(get_class($e) . ': ' . $e->getMessage() . '<br /><br />' . $e->getTraceAsString(), E_USER_ERROR);
}
}
private function facebook($config) {
return new \Hybridauth\Provider\Facebook($config);
}
private function google($config) {
return new \Hybridauth\Provider\Google($config);
}
}
类HybridAuth{
/**
*@返回
*/
公共函数getUserProfile($platform='facebook',$withBooking=false){
$withBooking=($withBooking)?“&withBooking=true”:”;
$config=['callback'=>config('app.url.fullyQualifiedDomain')。/auth/sociallogin?platform='.$platform.$withBooking,
'keys'=>['id'=>config('vendors.'.$platform.'.keys.appId'),
'secret'=>config('vendors.'.$platform.'.keys.appSecret')]];
$hybridauth=$this->$platform($config);
试一试{
$hybridauth->authenticate();
$isConnected=$hybridauth->isConnected();
如果($未连接){
$userProfile=$hybridauth->getUserProfile();
$hybridauth->disconnect();
返回$userProfile;
}
返回false;
}捕获(\异常$e){
触发器错误(get_类($e)。':'。$e->getMessage()。。$e->GetTraceAssString(),e_用户错误); } } 私有函数facebook($config){ 返回new\Hybridauth\Provider\Facebook($config); } 私有函数google($config){ 返回new\Hybridauth\Provider\Google($config); } }
此返回是否正确?config('app.url.fullyQualifiedDomain')如果不匹配,则url将与身份验证提供程序设置的内容不匹配,并且您需要在配置中设置一个作用域,是的。这个精确的代码在本地环境中运行良好,其中唯一的区别是返回域、密钥和机密。作用域是可选的&因为我只需要基础知识,所以不需要设置它。我刚在Hybridauth中把curl换成Guzzle,现在一切都正常了。