logologo
Démarrer
Manuel
Développement
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
Démarrer
Manuel
Développement
Plugins
API
logologo

Authentification utilisateur

Aperçu
Gestion des authentificateurs

Types d'authentification

Mot de passe
SMS

OIDC

Configuration

Exemples

Connexion Google
Connexion Microsoft

SAML

Configuration

Exemples

Connexion Google
LDAP
CAS
WeChat Work
DingTalk
Clés API

Guide de développement

Étendre les types d'authentification
Référence API

Vérification

Aperçu

Types de vérification

SMS
Authentificateur TOTP

Guide de développement

Étendre les types de vérification
Étendre les scénarios de vérification
Étendre les fournisseurs de services SMS
Référence API
Authentification à deux facteurs (2FA)
Previous PageÉtendre les types d'authentification
Next PageAperçu
Avis de traduction IA

Cette documentation a été traduite automatiquement par IA.

#Référence de l'API

#Côté Serveur

#Auth

API interne, référence : Auth

#BaseAuth

API interne, référence : BaseAuth

#AuthModel

#Aperçu

AuthModel est le modèle de données de l'authentificateur (Authenticator, référence : AuthManager - setStorer et Auth - constructor) utilisé dans les applications NocoBase. Il offre des méthodes pour interagir avec la collection de données utilisateur. De plus, vous pouvez également utiliser les méthodes fournies par le modèle Sequelize.

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éthodes de classe

  • findUser(uuid: string): UserModel - Interroge un utilisateur par son uuid.

    • uuid - Identifiant unique de l'utilisateur pour le type d'authentification actuel.
  • newUser(uuid: string, userValues?: any): UserModel - Crée un nouvel utilisateur et le lie à l'authentificateur actuel via son uuid.

    • uuid - Identifiant unique de l'utilisateur pour le type d'authentification actuel.
    • userValues - Optionnel. Autres informations utilisateur. Si non fourni, le uuid sera utilisé comme pseudonyme de l'utilisateur.
  • findOrCreateUser(uuid: string, userValues?: any): UserModel - Trouve ou crée un nouvel utilisateur, les règles de création sont les mêmes que ci-dessus.

    • uuid - Identifiant unique de l'utilisateur pour le type d'authentification actuel.
    • userValues - Optionnel. Autres informations utilisateur.

#Côté Client

#plugin.registerType()

Enregistre le client du type d'authentification.

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

#Signature

  • registerType(authType: string, options: AuthOptions)

#Type

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

#Détails

  • SignInForm - Formulaire de connexion
  • SignInButton - Bouton de connexion (tiers), peut être utilisé comme alternative au formulaire de connexion.
  • SignUpForm - Formulaire d'inscription
  • AdminSettingsForm - Formulaire de configuration administrateur

#Route

Le plugin auth enregistre les routes frontend suivantes :

  • Mise en page d'authentification

    • name: auth
    • path: -
    • component: AuthLayout
  • Page de connexion

    • name: auth.signin
    • path: /signin
    • component: SignInPage
  • Page d'inscription

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