logologo
Úvod
Manuál
Vývoj
Pluginy
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Úvod
Manuál
Vývoj
Pluginy
API
logologo

Autentizace uživatele

Přehled
Správa autentikátorů

Typy autentizace

Heslo
SMS

OIDC

Konfigurace

Příklady

Přihlášení přes Google
Přihlášení přes Microsoft

SAML

Konfigurace

Příklady

Přihlášení přes Google
LDAP
CAS
WeChat Work
DingTalk
API klíč

Průvodce pro vývojáře

Rozšíření typů autentizace
API reference

Ověření

Přehled

Typy ověření

SMS
TOTP autentikátor

Průvodce pro vývojáře

Rozšíření typů ověření
Rozšíření scénářů ověření
Rozšíření poskytovatelů SMS
API reference
Dvoufaktorová autentizace (2FA)
Previous PageRozšíření typů autentizace
Next PagePřehled
TIP

Tento dokument byl přeložen umělou inteligencí. V případě nepřesností se prosím obraťte na anglickou verzi

#Reference API

#Na straně serveru

#Auth

Jádrové API, viz: Auth

#BaseAuth

Jádrové API, viz: BaseAuth

#AuthModel

#Přehled

AuthModel je datový model autentikátoru (Authenticator, viz: AuthManager - setStorer a Auth - constructor), který se používá v aplikacích NocoBase. Poskytuje metody pro interakci s kolekcí uživatelských dat. Kromě toho můžete využít i metody poskytované modelem 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();
    // ...
  }
}

#Metody třídy

  • findUser(uuid: string): UserModel - Vyhledá uživatele podle uuid.

    • uuid - Unikátní identifikátor uživatele pro aktuální typ autentizace.
  • newUser(uuid: string, userValues?: any): UserModel - Vytvoří nového uživatele a pomocí uuid ho propojí s aktuálním autentikátorem.

    • uuid - Unikátní identifikátor uživatele pro aktuální typ autentizace.
    • userValues - Volitelné. Další informace o uživateli. Pokud není předáno, uuid se použije jako uživatelské jméno.
  • findOrCreateUser(uuid: string, userValues?: any): UserModel - Najde nebo vytvoří nového uživatele. Pravidla pro vytvoření jsou stejná jako výše.

    • uuid - Unikátní identifikátor uživatele pro aktuální typ autentizace.
    • userValues - Volitelné. Další informace o uživateli.

#Na straně klienta

#plugin.registerType()

Registruje klienta pro daný typ autentizace.

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

#Podpis

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

#Podrobnosti

  • SignInForm - Přihlašovací formulář
  • SignInButton - Tlačítko pro přihlášení (třetí strany), které lze použít jako alternativu k přihlašovacímu formuláři.
  • SignUpForm - Registrační formulář
  • AdminSettingsForm - Formulář pro konfiguraci administrace.

#Trasa

Plugin auth registruje následující frontendové trasy:

  • Rozložení Auth

    • name: auth
    • path: -
    • component: AuthLayout
  • Stránka pro přihlášení

    • name: auth.signin
    • path: /signin
    • component: SignInPage
  • Stránka pro registraci

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