1.7 KiB
1.7 KiB
up:: Boilerplate Code X:: JavaScript tags:: #boilerplate
JWT Class Boilerplate
Here is a simple example of how you might use JSON Web Tokens (JWTs) for user management in a TypeScript project:
import jwt from 'jsonwebtoken';
class User {
private id: number;
private username: string;
private password: string;
constructor(id: number, username: string, password: string) {
this.id = id;
this.username = username;
this.password = password;
}
public getId(): number {
return this.id;
}
public getUsername(): string {
return this.username;
}
public setUsername(username: string): void {
this.username = username;
}
public getPassword(): string {
return this.password;
}
public setPassword(password: string): void {
this.password = password;
}
public generateJWT(): string {
const tokenData = {
id: this.id,
username: this.username,
};
return jwt.sign(tokenData, process.env.JWT_SECRET);
}
}
In this example, the User
class has three private properties: id
, username
, and password
. The class has a constructor that accepts values for id
, username
, and password
, and assigns them to the respective properties. The class also has methods for accessing and modifying these properties, as well as a method for generating a JSON Web Token (JWT) for the user. The generateJWT
method uses the jsonwebtoken
library to sign a JSON object containing the user's id
and username
properties, using a secret key stored in the JWT_SECRET
environment variable. This JWT can then be sent to the client and used to authenticate and authorize the user in subsequent requests.