logologo
Start
Handbuch
Entwickler
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
Start
Handbuch
Entwickler
Plugins
API
logologo

Benutzerauthentifizierung

Überblick
Authenticator-Verwaltung

Authentifizierungstypen

Passwort
SMS

OIDC

Konfiguration

Beispiele

Google-Login
Microsoft-Login

SAML

Konfiguration

Beispiele

Google-Login
LDAP
CAS
WeChat Work
DingTalk
API-Schlüssel

Entwicklerhandbuch

Authentifizierungstypen erweitern
API-Referenz

Verifizierung

Überblick

Verifizierungstypen

SMS
TOTP-Authenticator

Entwicklerhandbuch

Verifizierungstypen erweitern
Verifizierungsszenarien erweitern
SMS-Anbieter erweitern
API-Referenz
Zwei-Faktor-Authentifizierung (2FA)
Previous PageAuthentifizierungstypen erweitern
Next PageÜberblick
KI-Übersetzungshinweis

Diese Dokumentation wurde automatisch von KI übersetzt.

#API Referenz

#Serverseitig

#Auth

Dies ist eine Kern-API. Weitere Informationen finden Sie unter: Auth

#BaseAuth

Dies ist eine Kern-API. Weitere Informationen finden Sie unter: BaseAuth

#AuthModel

#Überblick

AuthModel ist das Datenmodell für den Authentifikator (Authenticator), der in NocoBase-Anwendungen verwendet wird (Referenz: AuthManager - setStorer und Auth - constructor). Es bietet Methoden zur Interaktion mit der Benutzerdaten-Sammlung. Darüber hinaus können Sie auch die vom Sequelize Model bereitgestellten Methoden verwenden.

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();
    // ...
  }
}

#Klassenmethoden

  • findUser(uuid: string): UserModel - Sucht einen Benutzer anhand der uuid.

    • uuid - Die eindeutige Benutzerkennung des aktuellen Authentifizierungstyps.
  • newUser(uuid: string, userValues?: any): UserModel - Erstellt einen neuen Benutzer und bindet ihn über die uuid an den aktuellen Authentifikator.

    • uuid - Die eindeutige Benutzerkennung des aktuellen Authentifizierungstyps.
    • userValues - Optional. Weitere Benutzerinformationen. Wenn nicht angegeben, wird die uuid als Benutzername verwendet.
  • findOrCreateUser(uuid: string, userValues?: any): UserModel - Sucht einen Benutzer oder erstellt einen neuen. Die Erstellungsregeln sind die gleichen wie oben beschrieben.

    • uuid - Die eindeutige Benutzerkennung des aktuellen Authentifizierungstyps.
    • userValues - Optional. Weitere Benutzerinformationen.

#Clientseitig

#plugin.registerType()

Registriert den Client für einen Authentifizierungstyp.

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

#Signatur

  • registerType(authType: string, options: AuthOptions)

#Typ

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

#Details

  • SignInForm - Anmeldeformular
  • SignInButton - Anmelde-Button (Drittanbieter). Kann alternativ zum Anmeldeformular verwendet werden.
  • SignUpForm - Registrierungsformular
  • AdminSettingsForm - Administrations-Konfigurationsformular

#Route

Das Auth-Plugin registriert die folgenden Frontend-Routen:

  • Auth-Layout

    • Name: auth
    • Pfad: -
    • Komponente: AuthLayout
  • Anmeldeseite

    • Name: auth.signin
    • Pfad: /signin
    • Komponente: SignInPage
  • Registrierungsseite

    • Name: auth.signup
    • Pfad: /signup
    • Komponente: SignUpPage