Download the PHP package rluders/jwtauth without Composer
On this page you can find all versions of the php package rluders/jwtauth. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download rluders/jwtauth
More information about rluders/jwtauth
Files in rluders/jwtauth
Package jwtauth
Short Description JSON Web Token Authentication plugin for Winter CMS
License GPL-3.0-or-later
Homepage http://www.luders.com.br
Informations about the package jwtauth
Introduction
This plugin provides a JSON Web Tokens authentication mechanism for Winter CMS integrated with Winter.User. It's essential for your web application built with Angular, Vue.js, React or other modern Javascript frameworks.
Requirements
- PHP 8.1+
- WinterCMS 1.2+ (Laravel 9) or 1.3+ (Laravel 10)
- Winter.User plugin
^2.0 - RLuders.CORS plugin (optional, but recommended)
Theme
Tutorials
Installation
Configuration
You must set a secret token for your application. Do do it, on Winter's Backend access: Settings > Users > JWTAuth
Usage
Here's the list of available endpoints for this plugin.
If you are using Postman, you can click here to import the collection with all the calls that you need to test it.
Login
POST /api/auth/login
Route name
api.auth.login
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| login | string | Yes | Account login attribute |
| password | string | Yes | Account password |
The field
loginvalue can be the accountusername. You can select it onWinter.Userconfiguration what field should be used for login.
Responses
SUCCESS
Code: 200
ERROR
Code: 401
Register
POST /api/auth/register
Route name
api.auth.register
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| username | string | No | Account username |
| string | Yes | Account email | |
| password | string | Yes | Account password |
| password_confirmation | string | No | Confirm the new password |
The field
usernamecan be required. It depends of yourWinter.Userconfiguration.
Responses
SUCCESS
Code: 201
ERROR
Code: 401
Supported events
Winter.User.beforeRegisterWinter.User.register
Account Activation
POST /api/auth/account-activation
Route name
api.auth.account-activation
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| activation_code | string | Yes | Account activation code |
Responses
SUCCESS
Code: 200
ERROR
Code: 422
Forgot Password
POST /api/auth/forgot-password
Route name
api.auth.forgot-password
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| string | Yes | Account email |
Responses
SUCCESS
Code: 200
ERROR
Code: 404
Reset Password
POST /api/auth/reset-password
Route name
api.auth.reset-password
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| reset_password_code | string | Yes | Reset password code |
| password | string | Yes | Account new password |
| password_confirmation | string | No | Confirm the new password |
Responses
SUCCESS
Code: 200
ERROR
Code: 422
Refresh Token
POST /api/auth/refresh-token
Route name
auth.api.refresh-token
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| token | string | Yes | Valid user JWToken |
Responses
SUCCESS
Code: 200
ERROR
Code: 403
Get User
GET /api/auth/me
Middleware
jwt.auth
Route name
api.auth.me
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| token | string | Yes | Valid token |
Responses
SUCCESS
Code: 200
ERROR
Code: 404
Logout
POST /api/auth/logout
Middleware
jwt.auth
Route name
api.auth.logout
Invalidates (blacklists) the current JWT. The token cannot be used again.
Responses
SUCCESS
Code: 204 No Content
ERROR
Code: 401 — Missing or invalid token
Advanced
Custom JWT Claims
Other plugins can add custom claims to the JWT by listening to the rluders.jwtauth.customClaims event.
The listener receives (&$claims, $user) — modify the $claims array by reference.
OpenAPI / Swagger Spec
A machine-readable API spec is available at openapi.yaml. Import it into Postman, Insomnia, Swagger UI, or any OpenAPI-compatible tooling.
Testing
Requires Podman or Docker.
See CONTRIBUTING.md for the commit convention and PR workflow.
Known issues
Beside the fact that I'm always trying to solve the possible issues, bad things could happen. Here, an list of possible issues and how to fix it.
Note to Apache users
In order to use the authorization Bearer Token you must add the following code to your .httaccess
License
GPLv3
All versions of jwtauth with dependencies
winter/wn-user-plugin Version ^2.0
php-open-source-saver/jwt-auth Version ^2.2