Nodefony 10.0.0-beta.5
Framework Node.js fullstack — HTTP & WebSocket, même contexte

Référence d'API — @nodefony/security — token

stable

Documentation › Référence d’API › @nodefony/security › token

Générée depuis les déclarations de types publiées de @nodefony/security 10.0.0-beta.5 : exactement ce que reçoit une application qui l’installe. Cette page n’existe dans aucun dépôt — pour la corriger, on corrige le TSDoc du code.

@nodefony/security#

import { … } from "@nodefony/security" — 23 symboles.

Classes (5)#

AnonymousToken#

class AnonymousToken implements IToken

Token du visiteur non authentifié — Zero Trust : un visiteur EST un utilisateur anonyme (jamais null).

JwtKeystore#

class JwtKeystore implements IJwtKeystore

Keystore Ed25519 — implémentation de référence d’IJwtKeystore.

MemoryTokenStore#

class MemoryTokenStore implements ITokenStore

Store de jetons en mémoire — implémentation de référence d’ITokenStore.

RemoteJwtVerifier#

class RemoteJwtVerifier

Vérificateur de jetons d’accès émis par un serveur d’autorisation tiers.

UserToken#

class UserToken implements IToken

Jeton porteur d’un utilisateur réel — produit par les authenticators à credential (userpassword, puis session/jwt…).

Fonctions (7)#

getTokenStoreFactory#

function getTokenStoreFactory(name: string): TokenStoreFactory

Fabrique d’un store par nom, ou undefined si inconnu.

listTokenStores#

function listTokenStores(): string[]

Noms enregistrés (validation boot, introspection Studio, tests).

matchesTokenStatus#

function matchesTokenStatus(token: ITokenLifetime, status: TokenStatus, now: number): boolean

true si le jeton correspond au filtre d’état demandé (undefined = tous).

registerTokenStore#

function registerTokenStore(name: string, factory: TokenStoreFactory): void

Enregistre (ou remplace) la fabrique d’un store de jetons. Appelée par le builtin memory au chargement, et par les adapters (drizzle/mongoose/redis) pour les leurs.

resolveJwtRuntime#

function resolveJwtRuntime(jwt: ISecurityConfig["jwt"]): IJwtRuntime

Dérive les paramètres effectifs depuis la config sécurité. issuer omis → "nodefony" (DEVRAIT être surchargé en prod) ; audiences vide → l’app est sa propre audience ([issuer]).

tokenStatusCriteria#

function tokenStatusCriteria(status: ITokenListQuery["status"], now: number): Record<string, unknown>

Fragment de critère portable exprimant l’état de vie d’un jeton — la traduction que les adapters SQL et Mongo partagent au lieu de la réécrire.

tokenStatusOf#

function tokenStatusOf(token: ITokenLifetime, now: number): TokenStatus

La définition de l’état d’un jeton — un seul exemplaire, pour les backends qui évaluent en mémoire (store mémoire, filtrage inline d’un batch SCAN).

Constantes (3)#

TOKEN_DEFAULT_ORDER#

const TOKEN_DEFAULT_ORDER: NonNullable<IPageQuery["order"]>

Ordre contractuel appliqué quand le client n’en demande aucun : les clés les plus récentes d’abord, départagées par identifiant pour rester déterministe à horodatage égal (sans quoi une pagination offset peut sauter ou répéter une ligne entre deux pages).

TOKEN_FACETS#

const TOKEN_FACETS: { readonly total: {}; readonly active: { readonly status: "active"; }; readonly expired: { readonly status: "expired"; }; readonly revoked: { readonly status: "revoked"; }; }

Les facettes des jetons — les questions fermées posées à la collection ENTIÈRE pour les cartes de tête.

TOKEN_SORTABLE_FIELDS#

const TOKEN_SORTABLE_FIELDS: readonly [ "createdAt", "name", "subjectId", "id" ]

Le vocabulaire de tri des jetons, en noms PUBLICS — ceux qu’un client écrit dans l’URL (?order=createdAt:DESC), jamais des noms de colonne.

Interfaces (6)#

IJwtRuntime#

interface IJwtRuntime

Paramètres JWT résolus partagés par l’émetteur (TokenService) et le vérificateur (JwtAuthenticator) — garantit que iss/aud posés à la signature sont EXACTEMENT ceux exigés à la vérification (une divergence = tout rejeté). Fonction pure (pas d’état, pas de kernel) → les deux côtés obtiennent la même valeur sans la partager.

IRemoteJwtVerifierOptions#

interface IRemoteJwtVerifierOptions

Réglages du vérificateur — au-delà de la liste des émetteurs.

ITokenLifetime#

interface ITokenLifetime

Ce qu’il faut d’un jeton pour en déduire l’état — deux horodatages, rien de plus. Volontairement structural : le store mémoire, le batch Redis et un test s’en servent sans partager de type d’enregistrement.

ITokenStoreFactoryContext#

interface ITokenStoreFactoryContext

Contexte passé à une fabrique de store : de quoi se construire (résolutions coûteuses en lazy à l’intérieur de l’instance).

ITrustedIssuer#

interface ITrustedIssuer

Un émetteur en qui l’application accepte de faire confiance.

TokenStoreSnapshot#

interface TokenStoreSnapshot

Instantané sérialisable de l’état d’un store en mémoire — base de la persistance fichier (MemoryTokenStore.snapshot/restore) et de l’inspection. Les index dérivés (par hash/famille/sujet) ne sont PAS sérialisés : ils sont reconstruits depuis records au restore.

Types (2)#

ITokenCounts#

type ITokenCounts = FacetCounts<typeof TOKEN_FACETS>

Les compteurs rendus par GET /nodefony/security/api/apikeys/stats.

TokenStoreFactory#

type TokenStoreFactory = (ctx: ITokenStoreFactoryContext) => ITokenStore

Fabrique d’un store de jetons pour un nom donné.


← Toutes les références d’API