laravel passport createToken not giving me the hashed token.It giving me this object from database table
{
"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
}.
I need the token for verifying.
I did composer require laravel/passport
php artisan migrate
php artisan passport:install
use HasApiTokens, HasFactory, Notifiable; in the boot method of AuthServiceProvider Passport::routes(); in config/auth.php
'api' => [
'driver' => 'passport',
'provider' => 'users',
],
my register controller function
$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);
Please make sure you are using the correct trait
use Laravel\Passport\HasApiTokens;
Not
use Laravel\Sanctum\HasApiTokens;
That was just laravel was giving me sanctum by default. and the HasApiToken in the user model is bydefault coming from sanctum instead of passport.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With