- A Laravel-Vue SPA starter kit. Laravel 8; Vue + VueRouter + Vuex + VueI18n + ESlint; Pages with dynamic import and custom layouts; Login, register, email verification and password reset; Authentication with JWT; Socialite integration; Bootstrap 4 + Font Awesome 5; Installation. Composer create-project -prefer-dist cretueusebiu.
- Finally, it is time to generate the jwt secret key which will be used to sign your tokens. Type php artisan jwt:secret in your terminal. It will generate JWT secret key inside your.env file. Also, make sure to add least add one user to the database to work with. You can use laravel model factories for it to generate 50 users in bulk.
- Table of Contents. Inside this article we will one more important concept of laravel i.e REST api development in laravel 8 with JWT authentication. This will be step by step guide to create restful services from scratch. We will create a secure set of rest apis using laravel. JWT is a laravel composer package.
This command will install the jwt-auth package in the laravel vendor folder and will update composer.json. It is known as a third-party JWT package that supports user authentication using JSON Web Token in Laravel & Lumen securely. Add jwt package into a service provider. Open config/app.php file and update the providers and aliases array. Re-Generate secret key. I have included a helper command to generate a key for you: php artisan jwt:secret. This will update your.env file with something like JWTSECRET=foobar. It is the key that will be used to sign your tokens. How that happens exactly will depend on the algorithm that you choose to use. Update your User model.
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.
We’ll see how to set up JWT authentication in Laravel 8 and implement a secured REST API using the tymon/jwt-auth package.
Laravel 8 JWT Authentication Tutorial by Example
In this tutorial, we’ll see step by step to implement a REST API with PHP and Laravel 8 with authentication via JWT tokens.
Step 1 — Creating a Laravel 8 Application
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:
Step 2 — Configuring a MySQL Database
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:
Step 3 — Installing jwt-laravel
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:
Step 4 — Setting up JWT Authentication in Laravel 8
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:
Step 5 — Generating a JWT Secret Key
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:
Step 6 — Implementing JWT Authentication in Laravel 8 User Model
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:
Step 7 — Implementing the REST API Controller for JWT Authentication
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:
Jwt Secret Key Laravel Software
Next, open the app/http/controllers/JwtAuthController.php file, and add the following methods:
Step 7 — Add Laravel 8 REST API Routes
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:
Step 9 — Serving your Laravel 8 REST API Authentication App
Secret Key Rotom
After implementing JWT authentication in our Laravel 8 REST API application, let’s run our local development server using the following command:
Conclusion
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/