Základ zobrazování ověřených uživatelů
This commit is contained in:
@@ -4,9 +4,10 @@ import jwt from 'jsonwebtoken';
|
||||
* Vygeneruje a vrátí podepsaný JWT token pro daný login.
|
||||
*
|
||||
* @param login přihlašovací jméno uživatele
|
||||
* @param trusted příznak, zda se jedná o ověřeného uživatele
|
||||
* @returns JWT token
|
||||
*/
|
||||
export function generateToken(login?: string): string {
|
||||
export function generateToken(login?: string, trusted?: boolean): string {
|
||||
if (!process.env.JWT_SECRET) {
|
||||
throw Error("Není vyplněna proměnná prostředí JWT_SECRET");
|
||||
}
|
||||
@@ -16,7 +17,7 @@ export function generateToken(login?: string): string {
|
||||
if (!login || login.trim().length === 0) {
|
||||
throw Error("Nebyl předán login");
|
||||
}
|
||||
return jwt.sign({ login }, process.env.JWT_SECRET);
|
||||
return jwt.sign({ login, trusted: trusted || false }, process.env.JWT_SECRET);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -50,4 +51,20 @@ export function getLogin(token?: string): string {
|
||||
}
|
||||
const payload: any = jwt.verify(token, process.env.JWT_SECRET);
|
||||
return payload.login;
|
||||
}
|
||||
|
||||
/**
|
||||
* Vrátí zda je uživatel používající daný token ověřený, pokud je token platný.
|
||||
*
|
||||
* @param token JWT token
|
||||
*/
|
||||
export function getTrusted(token?: string): boolean {
|
||||
if (!process.env.JWT_SECRET) {
|
||||
throw Error("Není vyplněna proměnná prostředí JWT_SECRET");
|
||||
}
|
||||
if (!token) {
|
||||
throw Error("Nebyl předán token");
|
||||
}
|
||||
const payload: any = jwt.verify(token, process.env.JWT_SECRET);
|
||||
return payload.trusted || false;
|
||||
}
|
||||
Reference in New Issue
Block a user