MantisBase v0.3.4
Loading...
Searching...
No Matches
mb::Auth Class Reference

JWT token creation and verification utilities. More...

#include <auth.h>

Static Public Member Functions

static std::string createToken (const json &claims_params, int timeout=-1)
 Create JWT token with custom claims.
 
static json verifyToken (const std::string &token)
 Verify JWT token and extract claims.
 

Detailed Description

JWT token creation and verification utilities.

Provides static methods for generating and validating JWT tokens used for authentication and authorization.

// Create token for user
json claims = {{"id", "user123"}, {"table", "users"}};
std::string token = Auth::createToken(claims, 3600); // 1 hour
// Verify token
json result = Auth::verifyToken(token);
if (result["verified"].get<bool>()) {
std::string userId = result["id"];
}
static json verifyToken(const std::string &token)
Verify JWT token and extract claims.
Definition auth.cpp:54
static std::string createToken(const json &claims_params, int timeout=-1)
Create JWT token with custom claims.
Definition auth.cpp:10
nlohmann::json json
Shorten JSON namespace.
Definition context_store.h:18

Member Function Documentation

◆ createToken()

std::string mb::Auth::createToken ( const json claims_params,
int  timeout = -1 
)
static

Create JWT token with custom claims.

Parameters
claims_paramsJSON object with claims (must include "id" and "table")
timeoutToken expiration in seconds (-1 for default, typically 1 hour)
Returns
JWT token string
json claims = {{"id", "user123"}, {"table", "users"}};
std::string token = Auth::createToken(claims, 3600);

◆ verifyToken()

json mb::Auth::verifyToken ( const std::string &  token)
static

Verify JWT token and extract claims.

Parameters
tokenJWT token string to verify
Returns
JSON object with:
  • "verified": bool indicating if token is valid
  • "id": user ID from token
  • "entity": entity table name from token
  • "error": error message if verification failed
    json result = Auth::verifyToken(token);
    if (result["verified"]) {
    // Token is valid, use result["id"] and result["entity"]
    }

The documentation for this class was generated from the following files: