laravel - Laravel sanctum API 令牌认证失败
问题描述
我正在使用 Laravel sanctum 创建可用于验证 API 请求的 API 令牌,但是当我创建令牌并使用纯文本令牌来验证来自邮递员的请求时,总是给我 401。
这是我的终点:
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user();
});
我生成这样的令牌:
$user = $request->user();
$abilities = [];
if ($request->read) $abilities[] = 'data:read';
if ($request->write) $abilities[] = 'data:write';
$token = $user->createToken($request->name, $abilities);
return response([
'token' => $token->plainTextToken,
'tokens' => $user->tokens
],201);
我确实得到了回文令牌,但是当我在邮递员中使用它时它失败了
Bearer 118586|IgKEMCTQq85Lb6k1km6HrewBo3wUS23OuTNHj13i
我在我的 API 组中使用这个中间件
EnsureFrontendRequestsAreStateful::class
我把它关掉了,但没有任何改变。
有人能帮忙吗?
解决方案
对于遇到此问题的任何人,您必须将 api 驱动程序从token
更改sanctum
为config/auth.php
guards => api => driver
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'sanctum',
'provider' => 'users',
'hash' => false,
],
],
推荐阅读
- apache-spark - 如何从 spark-submit 访问 Spark Kubernetes 集群上的 kubectl 转发端口?
- laravel - 调用数组上的成员函数 getRealPath()
- sql - SQL DATEDIFF 函数返回错误值
- c# - 将脚本添加到游戏对象时,只运行一次循环
- charts - 当图表数据为空时,如何在 High Stock 图表中显示网格线?
- python - 为什么上下文管理器在产生后关闭?
- arduino - Arduino AccelStepper 库:即时速度永远不会达到设定速度
- ios - 这个文档页面是用什么语言编码的?
- excel - 如何在同一行代码中包含列和行范围?
- css - 如何给形状赋予边框?