我已经安装:
v 7.30.4
v 2.15.7
在我使用 nuxtjs auth 模块登录我的 laravel Sanctuary 后,当 nuxt 尝试获取用户时,laravel 响应 401 错误(未经身份验证的消息)。
我的网络状态:
我的 cookie 状态:
api.php
: Route::group(['middleware'=>'auth:sanctum'], function (){
Route::get('/user', function (Request $request){
return $request->user();
});
});
nuxt.config.js
: auth:{
strategies: {
'laravelSanctum': {
provider: 'laravel/sanctum',
url: 'http://localhost:8000',
endpoints:{
login:{
url:'/login'
},
logout:{
url:'/api/logout'
},
},
user:{
property:false
}
},
},
redirect:{
login: '/auth/login',
logout:'/',
home:'/'
},
cookie: {
options: {
sameSite: 'lax'
},
},
},
LoginController.php
: public function login(Login $request)
{
$user=User::where('phone_number', $request->phone_number)->first();
if (Hash::check($request->password, $user->password)){
$request->session()->regenerate();
return response()->json(null, 201);
}
return $this->setStatusCode(422)->respondWithError('password','invalid pasword');
}
.env
:SESSION_DRIVER=file
SESSION_LIFETIME=120
SESSION_DOMAIN=localhost
SANCTUM_STATEFUL_DOMAINS=localhost:3000
我不知道我收到 401 错误的问题在哪里!
最佳答案
您需要返回您的 api token
登录后。并在您使用的每个请求中发送它middleware('auth:sanctum')
在 Laravel route 。
更多信息issuing tokens in sanctum
获取用户需要 token
如果没有提供抛出 401 错误。
关于php - 使用nuxtjs登录laravel sanctum后出现401(未经身份验证)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68266276/