How to implement JWT Token in Laravel 9 Part 2 (2024)

How to implement JWT Token in Laravel 9 Part 2

1 year ago admin Laravel

In the second part of this tutorial, we are going to add the auth controller and store the user in the database and finally try to log in and get the jwt token.

Create the auth controller

Create the AuthController and add the code below inside:

  
<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;class AuthController extends Controller{ // /** * Create a new AuthController instance. * * @return void */ public function __construct() { $this->middleware('auth:api', ['except' => ['login']]); } /** * Get a JWT via given credentials. * * @return \Illuminate\Http\JsonResponse */ public function login() { $credentials = request(['email', 'password']); if (! $token = auth()->attempt($credentials)) { return response()->json(['error' => 'These credentials do not match any of our records!'], 401); } return $this->respondWithToken($token); } /** * Get the authenticated User. * * @return \Illuminate\Http\JsonResponse */ public function me() { return response()->json(auth()->user()); } /** * Log the user out (Invalidate the token). * * @return \Illuminate\Http\JsonResponse */ public function logout() { auth()->logout(); return response()->json(['message' => 'Successfully logged out']); } /** * Refresh a token. * * @return \Illuminate\Http\JsonResponse */ public function refresh() { return $this->respondWithToken(auth()->refresh()); } /** * Get the token array structure. * * @param string $token * * @return \Illuminate\Http\JsonResponse */ protected function respondWithToken($token) { return response()->json([ 'access_token' => $token, 'token_type' => 'bearer', 'expires_in' => auth()->factory()->getTTL() * 60 ]); }}

Update the UserFactory

Update the file factories/UserFactory.php:

  
<?phpnamespace Database\Factories;use Illuminate\Support\Str;use Illuminate\Support\Facades\Hash;use Illuminate\Database\Eloquent\Factories\Factory;/** * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\User> */class UserFactory extends Factory{ /** * Define the model's default state. * * @return array<string, mixed> */ public function definition() { return [ 'name' => 'username', 'email' => 'user@email.com', 'email_verified_at' => now(), 'password' => Hash::make('user1234'), // password 'remember_token' => Str::random(10), ]; } /** * Indicate that the model's email address should be unverified. * * @return static */ public function unverified() { return $this->state(fn (array $attributes) => [ 'email_verified_at' => null, ]); }}

Update the database seeder

Update the file seeders/DatabaseSeeder.php:

  
<?phpnamespace Database\Seeders;// use Illuminate\Database\Console\Seeds\WithoutModelEvents;use Illuminate\Database\Seeder;class DatabaseSeeder extends Seeder{ /** * Seed the application's database. * * @return void */ public function run() { \App\Models\User::factory(1)->create(); }}

Store the user in the database

Now run the command below and try to log in using the link http://127.0.0.1:8000/api/auth/login you can use postman to test and you will get the jwt token:

How to implement JWT Token in Laravel 9 Part 2 (3)

  
npm run db:seed
  • Laravel 9
  • jwt

Previous Next

Related Tuorials

How to Check if a Record Does Not Exist in Laravel in this lesson, we will see how to check if a record does not exist in laravel, sometimes you need t... How to Check if a Record Exists in Laravel in this lesson, we will see how to check if a record exists in laravel, sometimes you need to check... How to Decrement Multiple Fields in Laravel In this lesson, we will see how to decrement multiple fields in Laravel, in the old versions of lara... How to Increment Multiple Fields in Laravel In this lesson, we will see how to increment multiple fields in Laravel, in the old versions of lara... How to Use the Same Request Validation Rules for Storing and Updating in Laravel In this lesson, we will see how to use the same request validation rules for storing and updating in... How to Go Back to the Previous URL in Laravel Blade In this lesson, we will see how to go back to the previous URL in Laravel Blade, sometimes we need t... How to Add Additional Data to The Resource JSON Response in Laravel In this lesson, we will see how to add additional data to the resource JSON response in Laravel, let... How to Specify the Attributes to be Returned in the Laravel Find Method In this lesson, we will see how to specify the attributes to be returned in the Laravel find method,... How to Get Data Using Where All in Laravel In this lesson, we will see how to get data using Where All in Laravel, the Where All method is used... How to Get Data Using Where Any in Laravel In this lesson, we will see how to get data using Where Any in Laravel, the Where Any method is used...
How to implement JWT Token in Laravel 9 Part 2 (2024)
Top Articles
Latest Posts
Article information

Author: Corie Satterfield

Last Updated:

Views: 5889

Rating: 4.1 / 5 (42 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Corie Satterfield

Birthday: 1992-08-19

Address: 850 Benjamin Bridge, Dickinsonchester, CO 68572-0542

Phone: +26813599986666

Job: Sales Manager

Hobby: Table tennis, Soapmaking, Flower arranging, amateur radio, Rock climbing, scrapbook, Horseback riding

Introduction: My name is Corie Satterfield, I am a fancy, perfect, spotless, quaint, fantastic, funny, lucky person who loves writing and wants to share my knowledge and understanding with you.