logologo
Inizio
Guida
Sviluppo
Plugin
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Inizio
Guida
Sviluppo
Plugin
API
logologo
Panoramica API

@nocobase/auth

AuthManager
Auth
BaseAuth

@nocobase/cache

CacheManager
Cache

@nocobase/cli

NocoBase CLI
Variabili d'ambiente globali

@nocobase/client

Applicazione
Plugin

@nocobase/database

Collezione
Campo

interfaces

BaseInterface
Operatori di Filtro

RelationRepository

BelongsToManyRepository
belongs-to-repository
HasManyRepository
HasOneRepository
Repository

shared

create-options
destroy-options
find-one
find-options
transaction
update-options

@nocobase/data-source-manager

DataSourceManager
DataSource (classe astratta)
ICollectionManager
ICollection
IField
IModel
IRepository

@nocobase/flow-engine

DataSourceManager
FlowContext
FlowEngine
FlowModel
Risorsa Flusso

@nocobase/logger

Logger

@nocobase/server

AppCommand
Applicazione
AuditManager
Contesto
Migrazione
Plugin

@nocobase/sdk

Auth
Storage
Previous PagePanoramica API
Next PageAuth
Avviso di traduzione IA

Questa documentazione è stata tradotta automaticamente dall'IA.

#AuthManager

#Panoramica

AuthManager è il modulo di gestione dell'autenticazione utente in NocoBase, utilizzato per registrare diversi tipi di autenticazione utente.

#Utilizzo di base

const authManager = new AuthManager({
  // Utilizzato per ottenere l'identificatore dell'autenticatore corrente dall'header della richiesta
  authKey: 'X-Authenticator',
});

// Imposta i metodi per AuthManager per archiviare e recuperare gli autenticatori
authManager.setStorer({
  get: async (name: string) => {
    return db.getRepository('authenticators').find({ filter: { name } });
  },
});

// Registra un tipo di autenticazione
authManager.registerTypes('basic', {
  auth: BasicAuth,
  title: 'Password',
});

// Utilizza il middleware di autenticazione
app.resourceManager.use(authManager.middleware());

#Spiegazione dei concetti

  • Tipo di autenticazione (AuthType): Diversi metodi di autenticazione utente, come password, SMS, OIDC, SAML, ecc.
  • Autenticatore (Authenticator): L'entità per un metodo di autenticazione, effettivamente memorizzata in una collezione, corrispondente a un record di configurazione di un certo tipo di autenticazione (AuthType). Un metodo di autenticazione può avere più autenticatori, corrispondenti a più configurazioni, fornendo diversi metodi di autenticazione utente.
  • Identificatore dell'autenticatore (Authenticator name): L'identificatore univoco per un autenticatore, utilizzato per determinare il metodo di autenticazione per la richiesta corrente.

#Metodi di classe

#constructor()

Costruttore, crea un'istanza di AuthManager.

#Firma

  • constructor(options: AuthManagerOptions)

#Tipi

export interface JwtOptions {
  secret: string;
  expiresIn?: string;
}

export type AuthManagerOptions = {
  authKey: string;
  default?: string;
  jwt?: JwtOptions;
};

#Dettagli

#AuthManagerOptions
ProprietàTipoDescrizioneValore predefinito
authKeystringOpzionale, la chiave nell'header della richiesta che contiene l'identificatore dell'autenticatore corrente.X-Authenticator
defaultstringOpzionale, l'identificatore dell'autenticatore predefinito.basic
jwtJwtOptionsOpzionale, può essere configurato se si utilizza JWT per l'autenticazione.-
#JwtOptions
ProprietàTipoDescrizioneValore predefinito
secretstringSegreto del tokenX-Authenticator
expiresInstringOpzionale, tempo di scadenza del token.7d

#setStorer()

Imposta i metodi per l'archiviazione e il recupero dei dati dell'autenticatore.

#Firma

  • setStorer(storer: Storer)

#Tipi

export interface Authenticator = {
  authType: string;
  options: Record<string, any>;
  [key: string]: any;
};

export interface Storer {
  get: (name: string) => Promise<Authenticator>;
}

#Dettagli

#Authenticator
ProprietàTipoDescrizione
authTypestringTipo di autenticazione
optionsRecord<string, any>Configurazione relativa all'autenticatore
#Storer

Storer è l'interfaccia per l'archiviazione degli autenticatori, contenente un metodo.

  • get(name: string): Promise<Authenticator> - Recupera un autenticatore tramite il suo identificatore. In NocoBase, il tipo restituito effettivo è AuthModel.

#registerTypes()

Registra un tipo di autenticazione.

#Firma

  • registerTypes(authType: string, authConfig: AuthConfig)

#Tipi

export type AuthExtend<T extends Auth> = new (config: Config) => T;

type AuthConfig = {
  auth: AuthExtend<Auth>; // The authentication class.
  title?: string; // The display name of the authentication type.
};

#Dettagli

ProprietàTipoDescrizione
authAuthExtend<Auth>L'implementazione del tipo di autenticazione, vedere Auth
titlestringOpzionale. Il titolo di questo tipo di autenticazione visualizzato sul frontend.

#listTypes()

Recupera l'elenco dei tipi di autenticazione registrati.

#Firma

  • listTypes(): { name: string; title: string }[]

#Dettagli

ProprietàTipoDescrizione
namestringIdentificatore del tipo di autenticazione
titlestringTitolo del tipo di autenticazione

#get()

Recupera un autenticatore.

#Firma

  • get(name: string, ctx: Context)

#Dettagli

ProprietàTipoDescrizione
namestringIdentificatore dell'autenticatore
ctxContextContesto della richiesta

#middleware()

Middleware di autenticazione. Recupera l'autenticatore corrente ed esegue l'autenticazione dell'utente.