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

@nocobase/auth

AuthManager
Auth
BaseAuth

@nocobase/cache

CacheManager
Caché

@nocobase/cli

CLI de NocoBase
Variables de Entorno Globales

@nocobase/client

Aplicación
Plugin

@nocobase/database

Colección
Campo

interfaces

BaseInterface
Operadores de Filtro

RelationRepository

BelongsToManyRepository
belongs-to-repository
HasManyRepository
HasOneRepository
Repositorio

shared

create-options
destroy-options
find-one
Estado vacío
transaction
update-options

@nocobase/data-source-manager

DataSourceManager
DataSource (abstracta)
ICollectionManager
ICollection
IField
IModel
IRepository

@nocobase/flow-engine

Gestor de Fuentes de Datos
Contexto del Flujo
FlowEngine
FlowModel
Recurso de Flujo de Trabajo

@nocobase/logger

Logger

@nocobase/server

AppCommand
Aplicación
AuditManager
Contexto
Migración
Plugin

@nocobase/sdk

Auth
Storage
Previous PageAPI Overview
Next PageAuth
Aviso de traducción por IA

Esta documentación ha sido traducida automáticamente por IA.

#AuthManager

#Descripción general

AuthManager es el módulo de gestión de autenticación de usuarios en NocoBase. Su función principal es registrar diferentes tipos de autenticación de usuarios.

#Uso básico

const authManager = new AuthManager({
  // Se utiliza para obtener el identificador del autenticador actual del encabezado de la solicitud.
  authKey: 'X-Authenticator',
});

// Establece los métodos para que AuthManager almacene y recupere autenticadores.
authManager.setStorer({
  get: async (name: string) => {
    return db.getRepository('authenticators').find({ filter: { name } });
  },
});

// Registra un tipo de autenticación.
authManager.registerTypes('basic', {
  auth: BasicAuth,
  title: 'Password',
});

// Utiliza el middleware de autenticación.
app.resourceManager.use(authManager.middleware());

#Conceptos clave

  • Tipo de autenticación (AuthType): Se refiere a los diferentes métodos de autenticación de usuarios, como contraseña, SMS, OIDC, SAML, etc.
  • Autenticador (Authenticator): Es la entidad que representa un método de autenticación. Se almacena en una colección y corresponde a un registro de configuración de un AuthType específico. Un método de autenticación puede tener múltiples autenticadores, cada uno con su propia configuración, para ofrecer diferentes formas de autenticar a los usuarios.
  • Identificador del autenticador (Authenticator name): Es el identificador único de un autenticador, utilizado para determinar el método de autenticación que se aplica a la solicitud actual.

#Métodos de la clase

#constructor()

Este constructor crea una instancia de AuthManager.

#Firma

  • constructor(options: AuthManagerOptions)

#Tipos

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

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

#Detalles

#AuthManagerOptions
PropiedadTipoDescripciónValor predeterminado
authKeystringOpcional. La clave en el encabezado de la solicitud que contiene el identificador del autenticador actual.X-Authenticator
defaultstringOpcional. El identificador del autenticador predeterminado.basic
jwtJwtOptionsOpcional. Se puede configurar si se utiliza JWT para la autenticación.-
#JwtOptions
PropiedadTipoDescripciónValor predeterminado
secretstringSecreto del tokenX-Authenticator
expiresInstringOpcional. Tiempo de expiración del token.7d

#setStorer()

Establece los métodos para almacenar y recuperar los datos del autenticador.

#Firma

  • setStorer(storer: Storer)

#Tipos

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

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

#Detalles

#Authenticator
PropiedadTipoDescripción
authTypestringTipo de autenticación
optionsRecord<string, any>Configuración relacionada con el autenticador
#Storer

Storer es la interfaz para el almacenamiento de autenticadores y contiene un método.

  • get(name: string): Promise<Authenticator> - Obtiene un autenticador mediante su identificador. En NocoBase, el tipo de retorno real es AuthModel.

#registerTypes()

Registra un tipo de autenticación.

#Firma

  • registerTypes(authType: string, authConfig: AuthConfig)

#Tipos

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

type AuthConfig = {
  auth: AuthExtend<Auth>; // La clase de autenticación.
  title?: string; // El nombre de visualización del tipo de autenticación.
};

#Detalles

PropiedadTipoDescripción
authAuthExtend<Auth>Implementación del tipo de autenticación. Consulte Auth
titlestringOpcional. El título de este tipo de autenticación que se muestra en el frontend.

#listTypes()

Obtiene la lista de tipos de autenticación registrados.

#Firma

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

#Detalles

PropiedadTipoDescripción
namestringIdentificador del tipo de autenticación
titlestringTítulo del tipo de autenticación

#get()

Obtiene un autenticador.

#Firma

  • get(name: string, ctx: Context)

#Detalles

PropiedadTipoDescripción
namestringIdentificador del autenticador
ctxContextContexto de la solicitud

#middleware()

Middleware de autenticación. Obtiene el autenticador actual y realiza la autenticación del usuario.