我正在尝试将Hybridauth v 3.0与Slim Framework结合使用,我设法使其正常运行,而我面临的唯一问题是,一旦我在hybridauth上调用了authenticate方法,页面就会进行重定向,进行身份验证(它要求这样的权限),然后降落在回调页面上。验证方法之后的所有内容都将被忽略。我无法将用户配置文件数据存储在会话中或作为cookie。我对框架和Hybridabuth都是新手,知道我要去哪里哪里对我很有帮助。
我正在使用Hybridauth v 3.0,PHP v 7.2.10
这是我的身份验证功能:-
public function fbSignUp($request, $response) {
$config = [
'callback' => \Hybridauth\HttpClient\Util::getCurrentUrl(),
'providers' => [
'Facebook' => [
'enabled' => true,
'keys' => [ 'id' => '*****', 'secret' => '*****' ],
]
]
];
try {
$hybridauth = new Hybridauth( $config );
$adapter = $hybridauth->authenticate( 'Facebook' );
$userProfile = $adapter->getUserProfile();
print_r($userProfile);
$_SESSION['user'] = $userProfile;
$adapter->disconnect();
}
catch (\Exception $e) {
echo $e->getMessage();
}
}
这是我的composer.json文件:-
{
"minimum-stability": "beta",
"prefer-stable": true,
"require": {
"slim/slim": "^3.0",
"slim/twig-view": "^2.4",
"hybridauth/hybridauth": "~3.0@dev"
},
"autoload": {
"psr-4": {
"App\\":"app"
}
}
}
整个身份验证过程都有效,但是我无法获得用户个人资料,因为这行代码是'$ userProfile = $ adapter-> getUserProfile();'。页面重定向到身份验证后,将永远不会执行。我对框架和Hybridabuth都是新手,知道我要去哪里哪里对我很有帮助。
谢谢。