# Laravel Passport

What is Laravel Passport?

Laravel Passport is an OAuth2 authentication package for Laravel that provides a full implementation of API authentication. It simplifies issuing and managing access tokens for secure communication between clients and your Laravel API.

---

## Origin

Passport was introduced to offer a native Laravel solution for API authentication, making it easier to implement OAuth2 in Laravel applications.

---

## Why is Laravel Passport Used?

1. **Simplifies API Authentication**: Provides out-of-the-box OAuth2 functionality.
2. **Enhances Security**: Issues access tokens securely to authorized clients.
3. **Supports Multiple Grant Types**: Handles password, client credentials, and personal access tokens.

---

## Best Practices

1. **Use HTTPS**: Always use secure connections for API endpoints.
2. **Set Expiry Dates**: Define appropriate token lifetimes to enhance security.
3. **Restrict Scopes**: Use scopes to limit token permissions.

---

## Example in Action

Install Passport:

```bash
composer require laravel/passport
php artisan migrate
php artisan passport:install
```

Configure Passport in `AuthServiceProvider`:

```php
use Laravel\Passport\Passport;

public function boot()
{
    Passport::routes();
}
```

Protect API routes:

```php
Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});
```

Read this definition in a browser: https://ranetrace.com/glossary/laravel-passport
