logologo
Começar
Manual
Desenvolvimento
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
Começar
Manual
Desenvolvimento
Plugins
API
logologo
Visão Geral da API

@nocobase/auth

AuthManager
Autenticação
BaseAuth

@nocobase/cache

CacheManager
Cache

@nocobase/cli

NocoBase CLI
Variáveis de Ambiente Globais

@nocobase/client

Aplicação
Plugin

@nocobase/database

Coleção
Campo

interfaces

BaseInterface
Operadores de Filtro

RelationRepository

BelongsToManyRepository
belongs-to-repository
HasManyRepository
HasOneRepository
Repositório

shared

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

@nocobase/data-source-manager

DataSourceManager
DataSource (abstrata)
ICollectionManager
ICollection
IField
IModel
IRepository

@nocobase/flow-engine

Gerenciador de Fonte de Dados
Contexto do Fluxo
FlowEngine
FlowModel
Recurso de Fluxo

@nocobase/logger

Logger

@nocobase/server

AppCommand
Aplicação
AuditManager
Contexto
Migração
Plugin

@nocobase/sdk

Auth
Storage
Previous PageVisão Geral da API
Next PageAutenticação
Aviso de tradução por IA

Esta documentação foi traduzida automaticamente por IA.

#AuthManager

#Visão Geral

AuthManager é o módulo de gerenciamento de autenticação de usuários no NocoBase, usado para registrar diferentes tipos de autenticação de usuário.

#Uso Básico

const authManager = new AuthManager({
  // Usado para obter o identificador do autenticador atual do cabeçalho da requisição
  authKey: 'X-Authenticator',
});

// Define os métodos para o AuthManager armazenar e recuperar autenticadores
authManager.setStorer({
  get: async (name: string) => {
    return db.getRepository('authenticators').find({ filter: { name } });
  },
});

// Registra um tipo de autenticação
authManager.registerTypes('basic', {
  auth: BasicAuth,
  title: 'Password',
});

// Usa o middleware de autenticação
app.resourceManager.use(authManager.middleware());

#Conceitos

  • Tipo de Autenticação (AuthType): Diferentes métodos de autenticação de usuário, como: senha, SMS, OIDC, SAML, etc.
  • Autenticador (Authenticator): A entidade para um método de autenticação, que é realmente armazenada em uma coleção, correspondendo a um registro de configuração de um determinado AuthType. Um método de autenticação pode ter vários autenticadores, correspondendo a várias configurações, fornecendo diferentes métodos de autenticação de usuário.
  • Identificador do Autenticador (Authenticator name): O identificador único para um autenticador, usado para determinar o método de autenticação para a requisição atual.

#Métodos de Classe

#constructor()

Construtor, cria uma instância de AuthManager.

#Assinatura

  • constructor(options: AuthManagerOptions)

#Tipos

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

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

#Detalhes

#AuthManagerOptions
PropriedadeTipoDescriçãoPadrão
authKeystringOpcional, a chave no cabeçalho da requisição que contém o identificador do autenticador atual.X-Authenticator
defaultstringOpcional, o identificador do autenticador padrão.basic
jwtJwtOptionsOpcional, pode ser configurado se estiver usando JWT para autenticação.-
#JwtOptions
PropriedadeTipoDescriçãoPadrão
secretstringSegredo do tokenX-Authenticator
expiresInstringOpcional, tempo de expiração do token.7d

#setStorer()

Define os métodos para armazenar e recuperar dados do autenticador.

#Assinatura

  • setStorer(storer: Storer)

#Tipos

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

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

#Detalhes

#Authenticator
PropriedadeTipoDescrição
authTypestringTipo de autenticação
optionsRecord<string, any>Configuração relacionada ao autenticador
#Storer

Storer é a interface para armazenamento de autenticadores, contendo um método.

  • get(name: string): Promise<Authenticator> - Obtém um autenticador pelo seu identificador. No NocoBase, o tipo retornado real é AuthModel.

#registerTypes()

Registra um tipo de autenticação.

#Assinatura

  • registerTypes(authType: string, authConfig: AuthConfig)

#Tipos

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

type AuthConfig = {
  auth: AuthExtend<Auth>; // A classe de autenticação.
  title?: string; // O nome de exibição do tipo de autenticação.
};

#Detalhes

PropriedadeTipoDescrição
authAuthExtend<Auth>A implementação do tipo de autenticação, veja Auth
titlestringOpcional. O título deste tipo de autenticação exibido no frontend.

#listTypes()

Obtém a lista de tipos de autenticação registrados.

#Assinatura

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

#Detalhes

PropriedadeTipoDescrição
namestringIdentificador do tipo de autenticação
titlestringTítulo do tipo de autenticação

#get()

Obtém um autenticador.

#Assinatura

  • get(name: string, ctx: Context)

#Detalhes

PropriedadeTipoDescrição
namestringIdentificador do autenticador
ctxContextContexto da requisição

#middleware()

Middleware de autenticação. Obtém o autenticador atual e realiza a autenticação do usuário.