[SOLVED] Argument 1 passed to Tymon\JWTAuth\JWT::fromUser() must be an instance of Tymon\JWTAuth\Contracts\JWTSubject

DevOps

MOTOSHARE 🚗🏍️
Turning Idle Vehicles into Shared Rides & Earnings

From Idle to Income. From Parked to Purpose.
Earn by Sharing, Ride by Renting.
Where Owners Earn, Riders Move.
Owners Earn. Riders Move. Motoshare Connects.

With Motoshare, every parked vehicle finds a purpose. Owners earn. Renters ride.
🚀 Everyone wins.

Start Your Journey with Motoshare

Step 1. Go to config/app.php and add

Tymon\JWTAuth\Providers\LaravelServiceProvider::classCode language: JavaScript (javascript)

to Providers.

Step 2. In your terminal publish the config file: 

php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider" Code language: JavaScript (javascript)

and add it to your list of service providers in app.php

Step 3. In your terminal generate the secret: 

php artisan jwt:secretCode language: CSS (css)

Step 4. In config/auth.php – set the default guard to api, and change the api driver to jwt

'defaults' => [
    'guard' => 'api',
    'passwords' => 'users',
],Code language: PHP (php)
'guards' => [
    ...

    'api' => [
        'driver' => 'jwt',
        'provider' => 'users',
    ],
],Code language: PHP (php)

Step 5. In your User Model, you need to implement the Tymon\JWTAuth\Contracts\JWTSubject contract on your User model, which requires to implement the 2 methods getJWTIdentifier() and getJWTCustomClaims(). See Below

public  function  getJWTIdentifier() {
        return  $this->getKey();
    }Code language: PHP (php)
public function getJWTCustomClaims()
    {
        return [];
    }Code language: PHP (php)
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x