laravel - Laravel Sanctum - 在 auth:sanctum 上获得 401,登录后返回令牌
问题描述
我有以下登录方法:
public function index(Request $request)
{
$request->validate([
'email' => 'required|email',
'password' => 'required',
'device_name' => 'required'
]);
$user = User::where('email', $request->email)->first();
if (! $user || ! Hash::check($request->password, $user->password)) {
throw ValidationException::withMessages([
'email' => ['The provided credentials are incorrect.'],
]);
}
return response([
'user' => $user,
'session_token' => $user->createToken($request->device_name)->plainTextToken,
], 201);
}
此方法有效,返回令牌的格式类似于:
5|5lR3o7vEzlm6iOieKxTW2pco1msKLN0WHb0Ozxv2relwIB4eJetyPnADOu6Dp0griYY7U1YZJEAqk6Ct
当我尝试使用带有该令牌的auth:sanctum后面的路由时,我得到了
401 - "message": "Unauthenticated."
我正在使用最新的 Laravel 7。配置:
.env
APP_URL=http://localhost:9099
SANCTUM_STATEFUL_DOMAINS=http://localhost:9099
cors.php
'paths' => ['api/v1/*'],
我正在使用 Insomnia 进行 API 测试。login 方法以及任何不使用auth:sanctum中间件的路由都有效。知道我在这里做错了什么吗?
解决方案
我将到期时间设置为null
并且我一直在获取401 errors
. 当我将其更改为60*24*30
有效时。
推荐阅读
- java - 如何使用 Spring Security 和 RESTful 进行 POST 请求?
- excel - 根据单元格值将行从两个或多个 Excel 工作表复制到另一个工作表
- laravel-query-builder - 将 Zend 查询转换为 laravel 并有条件地使用 when,然后按 order by
- symfony - Symfony autowire:为什么服务注入为空?
- c# - 删除 DateTime.Now C# 中所有周末的扩展方法
- r - xaringan::summon_remark() 没有来自 R 的互联网连接
- java - Apache Kylin Cube Building 失败(使用 mysql JDBC 连接器时)
- excel - VBA:写入单元格时代码停止执行
- python - 对象检测算法/神经网络输出什么?
- css - 如何实现移动分屏,但宽度是屏幕尺寸的两倍?