luchavez / passport-pgt-client
Laravel Passport Password Grant Tokens Client for Laravel 8|9|10
Installs: 256
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/luchavez/passport-pgt-client
Requires
- php: ^8.0
- illuminate/support: ~8|~9|~10
- luchavez/api-sdk-kit: ^1.0
Requires (Dev)
- orchestra/testbench: ~6|~7|~8
- phpunit/phpunit: ~9.0
- roave/security-advisories: dev-latest
This package is auto-updated.
Last update: 2025-10-17 11:18:48 UTC
README
Laravel Passport is an authentication package for Laravel. It is used by a lot of Laravel apps to authenticate users before accessing any resources. Basically, it generates an access token which you can then use on every request to provide identification to the OAuth Server.
One of Laravel Passport's mostly used authentication methods is the Password Grant Tokens grant type. It is a stateless way to get access tokens and refresh tokens from the OAuth Server.
Take a look at contributing.md if you want to contribute to this project.
Installation
Via Composer
// Install the package $ composer require luchavez/passport-pgt-client // Publish the config $ php artisan pgt:client:install
Setting Up
- Add these variables to .envfile if you want to override the default values.
| Variable Name | Default Value | Description | 
|---|---|---|
| PASSPORT_URL | config('app.url') | URL of Authentication Server | 
| PASSPORT_PASSWORD_GRANT_CLIENT_ID | null | Password grant client's ID | 
| PASSPORT_PASSWORD_GRANT_CLIENT_SECRET | null | Password grant client's secret | 
Usage
Passport PGT Client
The package provides a service called PassportPgtClient which you can use by calling its helper functions:
- passportPgtClient()
- passport_pgt_client()
Here's the list of its available methods.
| Method Name | Return Type | Description | 
|---|---|---|
| getPassportUrl | string | gets the URL of Authentication Server | 
| getPasswordGrantClientId | string or int or null | gets the Password Grant Client's id | 
| getPasswordGrantClientSecret | string or null | gets the Password Grant Client's secret | 
| register | Luchavez\ApiSdkKit\Models\AuditLog or Illuminate\Http\Client\Response | sends POST request to Auth Server's /oauth/tokento login | 
| login | Luchavez\ApiSdkKit\Models\AuditLog or Illuminate\Http\Client\Response | sends POST request to Auth Server's /oauth/tokento login | 
| refreshToken | Luchavez\ApiSdkKit\Models\AuditLog or Illuminate\Http\Client\Response | sends POST request to Auth Server's /oauth/tokento refresh tokens | 
| logout | Luchavez\ApiSdkKit\Models\AuditLog or Illuminate\Http\Client\Response | sends POST request to Auth Server's /api/oauth/logoutto logout | 
| getSelf | Luchavez\ApiSdkKit\Models\AuditLog or Illuminate\Http\Client\Response | sends GET request to Auth Server's /api/oauth/meto get user info | 
Routes
Here's the list of routes that this package provides.
| Method | Route | Description | 
|---|---|---|
| POST | /api/register | This route sends POST request to Auth Server's /api/oauth/registerto register. | 
| POST | /api/login | This route sends POST request to Auth Server's /oauth/tokento login. | 
| POST | /api/refresh-token | This route sends POST request to Auth Server's /oauth/tokento refresh tokens. | 
| POST | /api/logout | This route sends POST request to Auth Server's /api/oauth/logoutto logout. | 
| GET | /api/me | This route sends GET request to Auth Server's /api/oauth/meto get user info. | 
Note: If you wish to override the login, refresh token, logout, or get self logic, feel free to do so by updating the published passport-pgt-client config file.
Examples
- Logging in a user
- Refreshing tokens
- Getting user's information based on access token
- Logging out a user
Change log
Please see the changelog for more information on what has changed recently.
Testing
$ composer test
Contributing
Please see contributing.md for details and a todolist.
Security
If you discover any security related issues, please email jamescarloluchavez@gmail.com instead of using the issue tracker.
Credits
License
MIT. Please see the license file for more information.




