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
API-Überblick

@nocobase/auth

AuthManager
Auth
BaseAuth

@nocobase/cache

CacheManager
Cache

@nocobase/cli

NocoBase CLI
Globale Umgebungsvariablen

@nocobase/client

Anwendung
Plugin

@nocobase/database

Sammlung
Feld

interfaces

BaseInterface
Filter-Operatoren

RelationRepository

BelongsToManyRepository
belongs-to-repository
HasManyRepository
HasOneRepository
Repository

shared

create-options
destroy-options
find-one
find-options
transaction
update-options

@nocobase/data-source-manager

DataSourceManager
Datenquelle (abstrakt)
ICollectionManager
ICollection
IField
IModel
IRepository

@nocobase/flow-engine

DataSourceManager
FlowContext
FlowEngine
FlowModel
Workflow-Ressource

@nocobase/logger

Logger

@nocobase/server

AppCommand
Anwendung
AuditManager
Kontext
Migration
Plugin

@nocobase/sdk

Auth
Speicher
Previous PageAPI-Überblick
Next PageAuth
KI-Übersetzungshinweis

Diese Dokumentation wurde automatisch von KI übersetzt.

#AuthManager

#Überblick

AuthManager ist das Modul zur Benutzerauthentifizierungsverwaltung in NocoBase. Es dient dazu, verschiedene Benutzerauthentifizierungstypen zu registrieren.

#Grundlegende Verwendung

const authManager = new AuthManager({
  // Wird verwendet, um den Bezeichner des aktuellen Authentifikators aus dem Anfrage-Header abzurufen.
  authKey: 'X-Authenticator',
});

// Legt die Methoden für den AuthManager fest, um Authentifikatoren zu speichern und abzurufen.
authManager.setStorer({
  get: async (name: string) => {
    return db.getRepository('authenticators').find({ filter: { name } });
  },
});

// Registriert einen Authentifizierungstyp.
authManager.registerTypes('basic', {
  auth: BasicAuth,
  title: 'Password',
});

// Verwendet die Authentifizierungs-Middleware.
app.resourceManager.use(authManager.middleware());

#Konzepte

  • Authentifizierungstyp (AuthType): Verschiedene Methoden zur Benutzerauthentifizierung, wie zum Beispiel: Passwort, SMS, OIDC, SAML usw.
  • Authentifikator (Authenticator): Die Entität einer Authentifizierungsmethode, die tatsächlich in einer Sammlung gespeichert wird und einem Konfigurationseintrag eines bestimmten Authentifizierungstyps (AuthType) entspricht. Eine Authentifizierungsmethode kann mehrere Authentifikatoren haben, die jeweils unterschiedlichen Konfigurationen entsprechen und verschiedene Benutzerauthentifizierungsmethoden bereitstellen.
  • Authentifikator-Bezeichner (Authenticator name): Der eindeutige Bezeichner für einen Authentifikator, der verwendet wird, um die Authentifizierungsmethode für die aktuelle Anfrage zu bestimmen.

#Klassenmethoden

#constructor()

Konstruktor, der eine AuthManager-Instanz erstellt.

#Signatur

  • constructor(options: AuthManagerOptions)

#Typen

export interface JwtOptions {
  secret: string;
  expiresIn?: string;
}

export type AuthManagerOptions = {
  authKey: string;
  default?: string;
  jwt?: JwtOptions;
};

#Details

#AuthManagerOptions
EigenschaftTypBeschreibungStandardwert
authKeystringOptional, der Schlüssel im Anfrage-Header, der den Bezeichner des aktuellen Authentifikators enthält.X-Authenticator
defaultstringOptional, der Standard-Authentifikator-Bezeichner.basic
jwtJwtOptionsOptional, kann konfiguriert werden, wenn JWT für die Authentifizierung verwendet wird.-
#JwtOptions
EigenschaftTypBeschreibungStandardwert
secretstringToken-SchlüsselX-Authenticator
expiresInstringOptional, die Gültigkeitsdauer des Tokens.7d

#setStorer()

Legt die Methoden zum Speichern und Abrufen von Authentifikator-Daten fest.

#Signatur

  • setStorer(storer: Storer)

#Typen

export interface Authenticator = {
  authType: string;
  options: Record<string, any>;
  [key: string]: any;
};

export interface Storer {
  get: (name: string) => Promise<Authenticator>;
}

#Details

#Authenticator
EigenschaftTypBeschreibung
authTypestringAuthentifizierungstyp
optionsRecord<string, any>Authentifikator-bezogene Konfiguration
#Storer

Storer ist die Schnittstelle für die Authentifikator-Speicherung und enthält eine Methode.

  • get(name: string): Promise<Authenticator> - Ruft einen Authentifikator über seinen Bezeichner ab. In NocoBase ist der tatsächlich zurückgegebene Typ AuthModel.

#registerTypes()

Registriert einen Authentifizierungstyp.

#Signatur

  • registerTypes(authType: string, authConfig: AuthConfig)

#Typen

export type AuthExtend<T extends Auth> = new (config: Config) => T;

type AuthConfig = {
  auth: AuthExtend<Auth>; // Die Authentifizierungsklasse.
  title?: string; // Der Anzeigename des Authentifizierungstyps.
};

#Details

EigenschaftTypBeschreibung
authAuthExtend<Auth>Die Implementierung des Authentifizierungstyps, siehe Auth.
titlestringOptional. Der Titel dieses Authentifizierungstyps, der im Frontend angezeigt wird.

#listTypes()

Ruft die Liste der registrierten Authentifizierungstypen ab.

#Signatur

  • listTypes(): { name: string; title: string }[]

#Details

EigenschaftTypBeschreibung
namestringBezeichner des Authentifizierungstyps
titlestringTitel des Authentifizierungstyps

#get()

Ruft einen Authentifikator ab.

#Signatur

  • get(name: string, ctx: Context)

#Details

EigenschaftTypBeschreibung
namestringAuthentifikator-Bezeichner
ctxContextAnfrage-Kontext

#middleware()

Authentifizierungs-Middleware. Ruft den aktuellen Authentifikator ab und führt die Benutzerauthentifizierung durch.