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

Autenticación de usuario

Visión general
Gestión de autenticadores

Tipos de autenticación

Contraseña
SMS

OIDC

Configuración

Ejemplos

Inicio de sesión con Google
Inicio de sesión con Microsoft

SAML

Configuración

Ejemplos

Inicio de sesión con Google
LDAP
CAS
WeCom
DingTalk
Clave de API

Guía de desarrollo

Extender tipos de autenticación
Referencia de API

Verificación

Visión general

Tipos de verificación

SMS
Autenticador TOTP

Guía de desarrollo

Extender tipos de verificación
Extender escenarios de verificación
Extender proveedores de SMS
Referencia de API
Autenticación de dos factores (2FA)
Previous PageExtender tipos de autenticación
Next PageVisión general
Aviso de traducción por IA

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

#Referencia de la API

#Lado del Servidor

#Auth

API del núcleo, referencia: Auth

#BaseAuth

API del núcleo, referencia: BaseAuth

#AuthModel

#Resumen

AuthModel es el modelo de datos del autenticador (Authenticator, consulte: AuthManager - setStorer y Auth - constructor) que se utiliza en las aplicaciones de NocoBase. Proporciona métodos para interactuar con la colección de datos de usuario. Además, también puede utilizar los métodos que ofrece 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 de Clase

  • findUser(uuid: string): UserModel - Permite consultar un usuario a través de su uuid.

    • uuid - El identificador único del usuario para el tipo de autenticación actual.
  • newUser(uuid: string, userValues?: any): UserModel - Crea un nuevo usuario y lo vincula al autenticador actual mediante su uuid.

    • uuid - El identificador único del usuario para el tipo de autenticación actual.
    • userValues - Opcional. Contiene otra información del usuario. Si no se proporciona, el uuid se utilizará como el apodo del usuario.
  • findOrCreateUser(uuid: string, userValues?: any): UserModel - Busca o crea un nuevo usuario, siguiendo las mismas reglas de creación mencionadas anteriormente.

    • uuid - El identificador único del usuario para el tipo de autenticación actual.
    • userValues - Opcional. Otra información del usuario.

#Lado del Cliente

#plugin.registerType()

Permite registrar el cliente para un tipo de autenticación.

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,
      },
    });
  }
}

#Firma

  • 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;
  }>;
};

#Detalles

  • SignInForm - Formulario de inicio de sesión
  • SignInButton - Botón de inicio de sesión (de terceros), que puede utilizarse como alternativa al formulario de inicio de sesión.
  • SignUpForm - Formulario de registro
  • AdminSettingsForm - Formulario de configuración de administración

#Ruta

Las rutas de frontend que registra el plugin de autenticación son las siguientes:

  • Diseño de autenticación

    • name: auth
    • path: -
    • component: AuthLayout
  • Página de inicio de sesión

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

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