laravel - 无法将令牌保存到 laravel 中的个人访问令牌表
问题描述
我在 Laravel 中的登录代码如下
if (!$token = auth('api')->attempt($credentials)) {
return response()->json(['error' => 'Unauthorized'], 401);
}
$infoUser = Auth::guard('api')->user();
$personAccessToken = [
'tokenable_type' => "App\Models\User",
'tokenable_id' => $infoUser->id,
'name' => $infoUser->name,
'token' => $token,
];
PersonalAccessToken::updateOrCreate(['tokenable_id' => $infoUser->id], $personAccessToken);
当我在邮递员上测试 API 时,它显示错误“ SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'token' at row 1 (SQL: insert intopersonal_access_tokens
”。令牌值是从此函数生成的auth('api')->attempt($credentials)
。
表中的Token 列personal_access_tokens
由 Laravel 创建,字符串长度为 64,并且是唯一的。如果我更改为文本,则此字段无法设置唯一。我该如何解决这个问题?大家可以帮帮我吗?
解决方案
推荐阅读
- python - 为什么在tensorflow(python)中调用decode_cvs后没有()?
- matplotlib - matplotlib scatterplot - x 轴上仅显示几个标签
- google-compute-engine - 如何将war文件部署到安装在Google Compute Engine实例中的tomcat服务器中?
- .net - Task.Run(Foo) 和 FooAsync() 有什么不同?
- android - 如何在 Android 应用程序中集成 Dymo Labelwriter 无线标签打印机 SD2008209
- python - 替代“for”LINQ 相当于 Where?
- javascript - Threejs对象旋转值的问题
- c# - 使用 ClickOnce 从 UNC 自动更新 VSTO Excel 插件
- c# - ASP.NET Core 错误:System.TypeLoadException:无法加载类型“Microsoft.AspNetCore.WebUtilities.FileBufferingWriteStream”
- eclipse - Liferay 中的 Eclipse 主题在几行代码后不起作用