logologo
Empezar
Manual
Desarrollo
Plugins
API
Inicio
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Empezar
Manual
Desarrollo
Plugins
API
Inicio
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.