laravel - laravel 护照 createToken 没有给我散列令牌
问题描述
laravel 护照 createToken 没有给我散列令牌。它给了我数据库表中的这个对象
{
"name": "Laravel Password Grant Client",
"abilities": [
"*"
],
"tokenable_id": 10,
"tokenable_type": "App\\Models\\User",
"updated_at": "2021-09-02T15:58:03.000000Z",
"created_at": "2021-09-02T15:58:03.000000Z",
"id": 7
}.
我需要令牌进行验证。我做了composer require laravel/passport
php artisan migrate
php artisan passport:install
使用 HasApiTokens、HasFactory、Notifiable;在 AuthServiceProvider Passport::routes() 的 boot 方法中;在 config/auth.php
'api' => [
'driver' => 'passport',
'provider' => 'users',
],
我的注册控制器功能
$validator = Validator::make($request->all(), [
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|confirmed|string|min:6',
]);
if ($validator->fails()) {
return response(['errors' => $validator->errors()->all()], 422);
}
$request['password'] = Hash::make($request['password']);
$request['remember_token'] = Str::random(10);
$user = User::create($request->toArray());
$token = $user->createToken('Laravel Password Grant Client')->accessToken;
return response(["ok" => true, "message" => "You have successfully registered", "user" => $user, "token" => $token], 200);
解决方案
请确保您使用的是正确的特征
use Laravel\Passport\HasApiTokens;
不是
use Laravel\Sanctum\HasApiTokens;
推荐阅读
- google-apps-script - Google script stops after 5mins of execution
- c# - 如何在所有其他子节点周围创建和包装子节点?
- asp.net - Download excel file asp.net webforms
- javascript - 如果使用较短的语法,则 Promise(axios 请求)在 catch 块中记录为待处理
- string - strings.Contains() 总是返回 false
- amazon-web-services - Target group always unhealthy on port 8087 - running spring boot app through application load balancer
- firebase - Flutter 在另一个页面上获取用户 ID 并将其转换为 String ("type 'Future
' 不是类型 'String' 的子类型") - javascript - 如何从另一个数组创建部分对象数组?
- python-3.x - 我将如何使用 Python 读取仅以 B 或 R 开头的行
- git - 为什么内容为 123 的文件的 shasum 没有 mach blob 哈希?