Categories: Blog

Create API Rest with Laravel Passport Authentication

Laravel Passport is an OAuth2 server and API authentication package that is simple and enjoyable to use.

If your application absolutely needs to support OAuth2, then you should use Laravel Passport.

Laravel Passport provides a full 0Auth2 server implementation. With it, you can easily generate a personal access token to uniquely identify a currently authenticated user.

1. Installation

For installing this package Run this command from the Terminal:

composer require laravel/passport

Once the installation is complete, passport migrations will create the tables your application needs to store clients and access tokens.Run the following command to migrate your database:

php artisan migrate

2. Generate keys

This command will create the encryption keys needed to generate secure access tokens.

php artisan passport:install

After the installation process, add the Laravel\Passport\HasApiTokens trait to your App\User model as shown here:

Now, to register the routes necessary to issue and revoke access tokens, call the Passport::routes method within the boot method of your AuthServiceProvider.

To do this, open the app/Providers/AuthServiceProvider file and update its content as shown below:

Finally, open config\auth.php and set the driver of API to passport in the guards array shown below.

3. Create API Routes

Laravel provides routes/api.php file for writing web services routes. So, add a new route on that file.

4. Create API Controller

Create function in your controller file

  • Login function
  • Logout function

5. Test API in Postman

Add Request data in postman for Login

The API will return a token, which we will use in further requests as our means to authentication.

For logout using this token In Postman, the “Authorization” tab has a drop-down where the type can be set to “Bearer Token,” after which the token can go into the token field.

And you will successfully log out.

Official Documentation

For more information and details you can read the official document from Laravel website.

Lets Nurture

Share
Published by
Lets Nurture

Recent Posts

What is Generative AI?

Generative AI refers to a category of advanced algorithms designed to produce original content across…

2 weeks ago

5 Generative AI Video Tools Everyone Should Know About

Generative AI Video Tools Everyone Should Know About Generative AI is revolutionizing video creation, making…

2 weeks ago

What Exactly Are LLMs (Large Language Models)?

Large Language Models (LLMs)  are a transformative advancement in artificial intelligence, capable of understanding, processing,…

2 weeks ago

How Would You Use a Virtual Clothing Mirror in 2025

In the ever-evolving landscape of retail, virtual clothing mirrors stand out as a key differentiator,…

2 weeks ago

Introducing LetsNurture’s Smart Mirror for Retail and Beauty Businesses

As technology evolves, businesses in the retail and beauty sectors face increased pressure to innovate…

3 weeks ago

The Integral Role of AI in Augmenting the Future of AR

The technological realm is continuously evolving, and as it stands, Augmented Reality (AR) and Artificial…

3 weeks ago