Download the PHP package andrewdyer/jwt-auth without Composer
On this page you can find all versions of the php package andrewdyer/jwt-auth. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download andrewdyer/jwt-auth
More information about andrewdyer/jwt-auth
Files in andrewdyer/jwt-auth
Package jwt-auth
Short Description A simple framework agnostic JSON Web Token authentication solution
License MIT
Informations about the package jwt-auth
π JWT Auth
A simple framework-agnostic JSON Web Token authentication solution.
π License
Licensed under the MIT license and is free for private or commercial projects.
β¨ Introduction
JWT Auth provides a straightforward way to implement JSON Web Token (JWT) authentication in any PHP application. The library offers an easy-to-use interface for generating and validating JWTs, supports custom authentication providers, and provides flexible claims generation and validation. Additionally, it ensures secure token encoding and decoding.
π₯ Installation
π Getting Started
1. Define the JWT Subject
Create a class (e.g., User
) that implements the JWTSubject
interface. This class must provide a method getJWTIdentifier
to return the userβs unique identifier.
Note: This example is simplified for demonstration purposes. In a real-world application, you would typically use a proper user model, such as one provided by your framework. Ensure the
getJWTIdentifier
method returns a unique user identifier appropriate for your system.
2. Create an Authentication Provider
Create an authentication provider class that implements AuthProviderInterface
. This class will handle credential validation and user retrieval by ID.
Note: This example uses hardcoded credentials for demonstration purposes. In a real-world application, you should validate credentials securely by checking against a database and using hashed passwords (e.g., via libraries like
bcrypt
orpassword_hash
). Ensure you follow best practices for secure authentication.
3. Create a JWT Provider
Create a JWT provider class that implements JWTProviderInterface
. This class should handle encoding and decoding JWT tokens.
Note: This examples used
base64_encode
andbase64_decode
for simplicity. For real-world usage, consider using a proper JWT library such as firebase/php-jwt for better security.
4. Generate JWT Claims
The ClaimsFactory
class helps create a JWT claims instance. The build
method accepts an array of claims and returns an instance of ClaimsInterface
.
Note: This example uses hardcoded Unix timestamps for demonstration purposes. Consider using libraries like nesbot/carbon or PHP's native
DateTime
class to generate timestamps dynamically. This helps improve readability and ensures accurate date handling.
5. Initialize the JWT Authenticator
Create a new instance of the JWTAuth
class. This requires an instance of AuthProviderInterface
, JWTProviderInterface
, and ClaimsInterface
.
π Usage
Attempt Authentication
Authenticate a user by providing their credentials. If successful, a JWT token will be returned. If the credentials are invalid, an InvalidCredentialsException
will be thrown.
Authenticate a Token
Validate a JWT token and retrieve the associated user (subject).