我已经使用Passport实现了API身份验证,并尝试使用Socialite进行了同样的操作,但出现运行时异常错误
未根据请求设置会话存储
这是laravel 5.8文档之后的端点外观
Route::get('login/facebook', 'AuthController@facebookRedirect');
Route::get('login/facebook/callback', 'AuthController@facebookCallback');
在service.php文件中,我像这样添加了Facebook密钥
'facebook' => [
'client_id' => env('FACEBOOK_CLIENT_ID'),
'client_secret' => env('FACEBOOK_CLIENT_SECRET'),
'redirect' => env('FACEBOOK_CALLBACK_URL'),
],
AuthController
方法是
public function facebookRedirect()
{
return Socialite::driver('facebook')->redirect();
}
public function facebookCallback()
{
return Socialite::driver('facebook')->stateless()->user();
$user->token;
}
在Postman和我的浏览器中,我这样调用api端点
http://localhost:8000/api/v1/login/facebook
我在做什么错?这是使用社交名流进行API身份验证的方法吗?
答案 0 :(得分:0)
它认为您需要从功能stateless()
中删除facebookCallback
:
public function facebookCallback()
{
return Socialite::driver('facebook')->user();
$user->token;
}
`
如果您使用的是sessions
,则不应使用stateless()