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

Autenticação de Usuário

Visão Geral
Gerenciamento de Autenticadores

Tipos de Autenticação

Senha
SMS

OIDC

Configurações

Exemplos

Login com Google
Login com Microsoft

SAML

Configurações

Exemplos

Login com Google
LDAP
CAS
WeCom
DingTalk
Chave de API

Guia de Desenvolvimento

Estender Tipos de Autenticação
Referência da API

Verificação

Visão Geral

Tipos de Verificação

SMS
Autenticador TOTP

Guia de Desenvolvimento

Estender Tipos de Verificação
Estender Cenários de Verificação
Estender Provedor de SMS
Referência da API
Autenticação de Dois Fatores (2FA)
Previous PageEstender Tipos de Autenticação
Next PageVisão Geral
Aviso de tradução por IA

Esta documentação foi traduzida automaticamente por IA.

#Referência da API

#Lado do Servidor

#Auth

API do núcleo, referência: Auth

#BaseAuth

API do núcleo, referência: BaseAuth

#AuthModel

#Visão Geral

AuthModel é o modelo de dados do autenticador (Authenticator, referência: AuthManager - setStorer e Auth - constructor) usado em aplicações NocoBase. Ele oferece alguns métodos para interagir com a coleção de dados do usuário. Além disso, você também pode usar os métodos fornecidos pelo Sequelize Model.

import { AuthModel } from '@nocobase/plugin-auth';

class CustomAuth extends BaseAuth {
  async validate() {
    // ...
    const authenticator = this.authenticator as AuthModel;
    this.authenticator.findUser();
    this.authenticator.newUser();
    this.authenticator.findOrCreateUser();
    // ...
  }
}

#Métodos da Classe

  • findUser(uuid: string): UserModel - Consulta um usuário pelo uuid.

    • uuid - O identificador único do usuário para o tipo de autenticação atual.
  • newUser(uuid: string, userValues?: any): UserModel - Cria um novo usuário e o vincula ao autenticador atual usando o uuid.

    • uuid - O identificador único do usuário para o tipo de autenticação atual.
    • userValues - Opcional. Outras informações do usuário. Se não for fornecido, o uuid será usado como o apelido do usuário.
  • findOrCreateUser(uuid: string, userValues?: any): UserModel - Encontra ou cria um novo usuário, seguindo as mesmas regras de criação mencionadas acima.

    • uuid - O identificador único do usuário para o tipo de autenticação atual.
    • userValues - Opcional. Outras informações do usuário.

#Lado do Cliente

#plugin.registerType()

Registra o cliente do tipo de autenticação.

import AuthPlugin from '@nocobase/plugin-auth/client';

class CustomAuthPlugin extends Plugin {
  async load() {
    const auth = this.app.pm.get(AuthPlugin);
    auth.registerType('custom-auth-type', {
      components: {
        SignInForm,
        // SignInButton
        SignUpForm,
        AdminSettingsForm,
      },
    });
  }
}

#Assinatura

  • registerType(authType: string, options: AuthOptions)

#Tipo

export type AuthOptions = {
  components: Partial<{
    SignInForm: ComponentType<{ authenticator: AuthenticatorType }>;
    SignInButton: ComponentType<{ authenticator: AuthenticatorType }>;
    SignUpForm: ComponentType<{ authenticatorName: string }>;
    AdminSettingsForm: ComponentType;
  }>;
};

#Detalhes

  • SignInForm - Formulário de login
  • SignInButton - Botão de login (terceiro), que pode ser usado como alternativa ao formulário de login.
  • SignUpForm - Formulário de cadastro
  • AdminSettingsForm - Formulário de configurações do administrador.

#Rotas

O plugin de autenticação registra as seguintes rotas de frontend:

  • Layout de Auth

    • name: auth
    • path: -
    • component: AuthLayout
  • Página de Login

    • name: auth.signin
    • path: /signin
    • component: SignInPage
  • Página de Cadastro

    • name: auth.signup
    • path: /signup
    • component: SignUpPage