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

Référence d'API — nodefony/client — runtime

stable

Documentation › Référence d’API › nodefony › client-runtime

Générée depuis les déclarations de types publiées de nodefony 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/client#

import { … } from "nodefony/client" — 40 symboles.

Fonctions (6)#

isLoginPageSkin#

function isLoginPageSkin(value: unknown): value is LoginPageSkin

Dit si une valeur nomme un habillage connu.

loginPagePath#

function loginPagePath(from?: string, page?: string): string

Adresse de la page de connexion qui ramène à from une fois connecté — le lien « Se connecter » d’une page applicative.

loginPageSkinFile#

function loginPageSkinFile(skin: LoginPageSkin): string | null

Fichier de la feuille d’un habillage, relatif à LOGIN_PAGE_ASSETS_BASE.

oauth2AuthorizePath#

function oauth2AuthorizePath(provider: string, from?: string, back?: string): string

Adresse qui démarre la connexion par un fournisseur : à ouvrir en navigation PLEINE PAGE, jamais par fetch — le navigateur doit suivre les redirections vers le fournisseur et revenir avec le cookie de session posé au retour.

readSessionAuthentication#

function readSessionAuthentication(session: IMetaBagReader | null): ISessionAuthentication | null

Lit quand et comment une session a été ouverte.

safeRedirectPath#

function safeRedirectPath(value: unknown, fallback?: string): string

Rend value si c’est un chemin LOCAL sûr, sinon fallback.

Constantes (27)#

AUTH_API_BASE#

const AUTH_API_BASE = "/nodefony/security/api/auth"

Base des routes de session : connexion, second facteur, déconnexion, identité.

AUTH_LOGIN_PATH#

const AUTH_LOGIN_PATH = "/nodefony/security/api/auth/login"

Route de connexion par session : POST avec {username, password}.

AUTH_LOGIN_TOTP_PATH#

const AUTH_LOGIN_TOTP_PATH = "/nodefony/security/api/auth/login/totp"

Second facteur après un 202 mfaRequired : POST avec {code} (TOTP ou code de récupération).

AUTH_LOGOUT_PATH#

const AUTH_LOGOUT_PATH = "/nodefony/security/api/auth/logout"

Déconnexion : POST, idempotente ; rend logoutUrl quand la session venait d’un fournisseur.

AUTH_ME_PATH#

const AUTH_ME_PATH = "/nodefony/security/api/auth/me"

Identité de la session courante : GET, toujours 200 — { user }, ou { user: null } sans session.

DEFAULT_LOGIN_PAGE_SKIN#

const DEFAULT_LOGIN_PAGE_SKIN: LoginPageSkin

Habillage servi quand la configuration n’en choisit aucun.

INSECURE_TRANSPORT_MESSAGE#

const INSECURE_TRANSPORT_MESSAGE = "Credentials must be sent over HTTPS"

Refus d’un secret de connexion reçu en clair (HTTP) en production — corps error d’une réponse 403 des routes de connexion.

LOGIN_PAGE_ASSETS_BASE#

const LOGIN_PAGE_ASSETS_BASE = "/nodefony/security/login"

Base des fichiers de la page de connexion par défaut (script, feuille de style). Distincte de la page elle-même, dont le chemin se règle (loginPage.path) : ces fichiers ne changent pas d’adresse quand la page en change.

LOGIN_PAGE_LAYOUTS#

const LOGIN_PAGE_LAYOUTS: readonly [ "card", "split", "bare" ]

Modes de mise en page de la page de connexion par défaut.

LOGIN_PAGE_PATH#

const LOGIN_PAGE_PATH = "/login"

Chemin par défaut de la page de connexion servie par le framework.

LOGIN_PAGE_SCRIPT_PATH#

const LOGIN_PAGE_SCRIPT_PATH = "/nodefony/security/login/login.js"

Script de la page de connexion par défaut (bundle nodefony/login.js).

LOGIN_PAGE_SKINS#

const LOGIN_PAGE_SKINS: readonly [ "frontispiece", "ledger", "horizon", "console", "blueprint", "dots", "minimal", "enterprise", "photo-card" ]

Habillages de la page de connexion par défaut (loginPage.skin).

LOGIN_PAGE_SKIN_SPECS#

const LOGIN_PAGE_SKIN_SPECS: Readonly<Record<LoginPageSkin, ILoginPageSkinSpec>>

Mise en page et fond de chaque habillage — le Record exige les neuf.

LOGIN_PAGE_STYLE_PATH#

const LOGIN_PAGE_STYLE_PATH = "/nodefony/security/login/login.css"

Feuille de style de la page de connexion par défaut.

LOGIN_PAGE_THEME_KEY#

const LOGIN_PAGE_THEME_KEY = "nf-login-theme"

Clé du stockage local où la page de connexion par défaut retient le thème choisi (light ou dark). Le gabarit la lit avant le premier rendu, le script de la page l’écrit à la bascule.

MFA_METHOD_TOTP#

const MFA_METHOD_TOTP = "totp"

Méthode de second facteur « code à usage unique » : un code TOTP, ou un code de récupération, présenté à AUTH_LOGIN_TOTP_PATH.

OAUTH2_API_BASE#

const OAUTH2_API_BASE = "/nodefony/security/api/oauth2"

Base de la connexion par un fournisseur externe (OAuth 2.0 / OpenID Connect).

OAUTH2_CANCELLED_REASON#

const OAUTH2_CANCELLED_REASON = "access_denied"

Code OAuth 2.0 d’une annulation par l’utilisateur (RFC 6749 §4.1.2.1).

OAUTH2_FAILED_REASON#

const OAUTH2_FAILED_REASON = "failed"

Valeur de reason que le callback OAuth pose sur l’écran d’échec quand la cause n’est pas un code normalisé du fournisseur (state invalide, échange du code refusé, compte non provisionné). Seule access_denied dit une ANNULATION ; toute autre valeur est un échec à annoncer.

OAUTH2_PROVIDERS_PATH#

const OAUTH2_PROVIDERS_PATH = "/nodefony/security/api/oauth2/providers"

Fournisseurs de connexion configurés : GET → { providers: {name, label}[] }.

SESSION_AMR_KEY#

const SESSION_AMR_KEY = "amr"

Clé de métadonnée : méthodes d’authentification utilisées (RFC 8176).

SESSION_AUTH_AT_KEY#

const SESSION_AUTH_AT_KEY = "authAt"

Clé de métadonnée : heure de l’authentification (millisecondes epoch).

WEBAUTHN_API_BASE#

const WEBAUTHN_API_BASE = "/nodefony/security/api/webauthn"

Base des cérémonies WebAuthn (passkeys).

WEBAUTHN_LOGIN_OPTIONS_PATH#

const WEBAUTHN_LOGIN_OPTIONS_PATH = "/nodefony/security/api/webauthn/login/options"

Défi de connexion par passkey : POST (corps vide) → options WebAuthn en JSON.

WEBAUTHN_LOGIN_VERIFY_PATH#

const WEBAUTHN_LOGIN_VERIFY_PATH = "/nodefony/security/api/webauthn/login/verify"

Vérification de la passkey : POST avec {response} → ouvre la session.

WEBAUTHN_STATUS_PATH#

const WEBAUTHN_STATUS_PATH = "/nodefony/security/api/webauthn/status"

État de la connexion par passkey : GET → { enabled: boolean }, toujours 200 quand le service existe. Les cérémonies répondent 503 quand les passkeys sont coupées ; cette route permet à un écran de connexion de ne pas proposer un bouton voué à cet échec.

isPlainObject#

const isPlainObject: (obj: unknown) => obj is Record<string, unknown>

Vérifie qu’un objet est un “plain object” — {} ou Object.create(null).

Interfaces (5)#

ILoginPageDescription#

interface ILoginPageDescription

Ce que la page de connexion par défaut doit afficher, décrit par la sécurité et lu par le contrôleur qui la sert.

ILoginPageHero#

interface ILoginPageHero

Contenu du panneau d’illustration qui REMPLACE la vitrine Nodefony. Texte seul, échappé au rendu : l’image du panneau passe par la feuille de l’application (--nf-login-hero-image), jamais par une adresse injectée dans le balisage.

ILoginPageProvider#

interface ILoginPageProvider

Fournisseur d’identité proposé sur la page de connexion.

ILoginPageSkinSpec#

interface ILoginPageSkinSpec

Ce qu’un habillage impose au gabarit, au-delà de sa feuille.

ISessionAuthentication#

interface ISessionAuthentication

Comment une session a été authentifiée.

Types (2)#

LoginPageLayout#

type LoginPageLayout = (typeof LOGIN_PAGE_LAYOUTS)[number]

Un mode de mise en page de la page de connexion (loginPage.layout).

LoginPageSkin#

type LoginPageSkin = (typeof LOGIN_PAGE_SKINS)[number]

Un habillage de la page de connexion (loginPage.skin).


← Toutes les références d’API