【发布时间】:2021-11-01 03:05:21
【问题描述】:
laravel passport 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 的 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);
【问题讨论】: