Get 401(Unauthenticated) error after login on laravel sanctum with nuxtjs(在使用nuxtjs登录到laravel避难所后出现401(未经验证)错误)
本文介绍了在使用nuxtjs登录到laravel避难所后出现401(未经验证)错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已安装:
- LAVELL
v 7.30.4
- nuxtjs
v 2.15.7
在我使用nuxtjs身份验证模块登录到laravel禁区后,当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错误的问题出在哪里!
推荐答案
我也遇到了同样的问题,解决方案是将localhost:8000(幼域)添加到SASTUM_STATEWY_DOMAINS
SESSION_DOMAIN=localhost
SANCTUM_STATEFUL_DOMAINS=localhost:8000,localhost:3000
这篇关于在使用nuxtjs登录到laravel避难所后出现401(未经验证)错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:在使用nuxtjs登录到laravel避难所后出现401(未经验证)错误
基础教程推荐
猜你喜欢
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- 在多维数组中查找最大值 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01