Throughout this tutorial, we’ll be learning how to authenticate REST APIs using JWT in the latest Laravel 8 version. You will learn how to create a REST API using Laravel 8 with JWT authentication.
But one thing we need to do is to set jwt secret key which is separate key from the app key. JSON Web Token Authentication for Laravel & Lumen Now JWT thing ( JSON Web Token Authentication for Laravel & Lumen ). Laravel คือ PHP Framework สามารถใช้ทำ Fullstack web application ได้ แต่ในที่นี้จะทำ เฉพาะส่วนที่เป็น Backend เท่านั้น JWT คือ Json Web Token (ใช้ tymondesigns/jwt-auth) ใช้ทำ Web Authorized.
We’ll see how to set up JWT authentication in Laravel 8 and implement a secured REST API using the tymon/jwt-auth package.
In this tutorial, we’ll see step by step to implement a REST API with PHP and Laravel 8 with authentication via JWT tokens.
Let’s start our tutorial by creating a Laravel 8 application using Composer — the dependency management tool for PHP developers.
Head over to a new command-line interface and run the following command:
After creating your Laravel 8 application using Composer, let’s configure a MySQL database in our second step.
Open the .env file located in the root of your Laravel 8′ application. Next, add the following database configuration information:
Now that we have a Laravel 8 application with a MySQL database configured, let’s start implementing JWT authentication by installing the jwt-auth package.
Head back to your terminal and run the following command from the root of your project’s folder:
At this step, we have a Laravel 8 application with MySQL configured. We also installed the jwt-auth library in the previous step. Now, let’s set up JWT authentication in our application.
Head to the config/app.php file and add JWT providers and aliases as follows:
Next, head back to your terminal and run the following command:
After configuring JWT authentication in our Laravel 8 app. We’ll need to generate a JWT secret key in this step.
Head over to your terminal and run the following command to generate the JWT secret key:
Next, open the vendor/tymon/src/Commands/JWTGenerateCommand.php and update it as follows:
After configuring JWT in Laravel 8. In this step, we’ll implement it in the User model.
Open the App/User.php file, and update it as follows:
Let’s now implement a Laravel 8 controller for handling JWT authentication in our REST API application.
Head back to your terminal and run the following command to generate a controller:
Next, open the app/http/controllers/JwtAuthController.php file, and add the following methods:
Now that we have implemented JWT authentication in our Laravel 8 User model. In this step, we’ll proceed to create our REST API routes.
Open the routes/api.php file, and update it as follows:
After implementing JWT authentication in our Laravel 8 REST API application, let’s run our local development server using the following command:
Throughout this tutorial, we’ve seen step by step how to implement JWT authentication to secure and protect your REST API endpoints created with PHP and Laravel 8.
This post was originally posted on https://shabang.dev/laravel-8-rest-api-authentication-with-jwt-tutorial-by-example/