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
Přehled API

@nocobase/auth

AuthManager
Auth
BaseAuth

@nocobase/cache

CacheManager
Mezipaměť

@nocobase/cli

NocoBase CLI
Globální proměnné prostředí

@nocobase/client

Aplikace
Plugin

@nocobase/database

Kolekce
Pole

interfaces

BaseInterface
Filtrační operátory

RelationRepository

BelongsToManyRepository
belongs-to-repository
HasManyRepository
HasOneRepository
Repozitář

shared

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

@nocobase/data-source-manager

DataSourceManager
DataSource (abstraktní)
ICollectionManager
ICollection
IField
IModel
IRepository

@nocobase/flow-engine

Správce zdrojů dat
FlowContext
FlowEngine
FlowModel
Zdroj pracovního postupu

@nocobase/logger

Logger

@nocobase/server

AppCommand
Aplikace
AuditManager
Kontext
Migrace
Plugin

@nocobase/sdk

Auth
Úložiště
Previous PagePřehled API
Next PageAuth
TIP

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

#AuthManager

#Přehled

AuthManager je modul pro správu uživatelské autentizace v NocoBase, který slouží k registraci různých typů uživatelské autentizace.

#Základní použití

const authManager = new AuthManager({
  // Slouží k získání identifikátoru aktuálního autentizátoru z hlavičky požadavku
  authKey: 'X-Authenticator',
});

// Nastaví metody pro ukládání a načítání autentizátorů pro AuthManager
authManager.setStorer({
  get: async (name: string) => {
    return db.getRepository('authenticators').find({ filter: { name } });
  },
});

// Registruje typ autentizace
authManager.registerTypes('basic', {
  auth: BasicAuth,
  title: 'Password',
});

// Použije autentizační middleware
app.resourceManager.use(authManager.middleware());

#Vysvětlení pojmů

  • Typ autentizace (AuthType): Různé metody uživatelské autentizace, například heslo, SMS, OIDC, SAML atd.
  • Autentizátor (Authenticator): Entita pro autentizační metodu, která je skutečně uložena v kolekci, odpovídající konfiguračnímu záznamu určitého AuthType. Jedna autentizační metoda může mít více autentizátorů, odpovídajících více konfiguracím, poskytujících různé metody uživatelské autentizace.
  • Identifikátor autentizátoru (Authenticator name): Jedinečný identifikátor autentizátoru, který se používá k určení autentizační metody pro aktuální požadavek.

#Metody třídy

#constructor()

Konstruktor, který vytváří instanci AuthManager.

#Podpis

  • constructor(options: AuthManagerOptions)

#Typy

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

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

#Podrobnosti

#AuthManagerOptions
VlastnostTypPopisVýchozí hodnota
authKeystringVolitelné, klíč v hlavičce požadavku, který obsahuje identifikátor aktuálního autentizátoru.X-Authenticator
defaultstringVolitelné, výchozí identifikátor autentizátoru.basic
jwtJwtOptionsVolitelné, lze konfigurovat, pokud se pro autentizaci používá JWT.-
#JwtOptions
VlastnostTypPopisVýchozí hodnota
secretstringTajný klíč tokenuX-Authenticator
expiresInstringVolitelné, doba platnosti tokenu.7d

#setStorer()

Nastaví metody pro ukládání a načítání dat autentizátoru.

#Podpis

  • setStorer(storer: Storer)

#Typy

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

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

#Podrobnosti

#Authenticator
VlastnostTypPopis
authTypestringTyp autentizace
optionsRecord<string, any>Konfigurace související s autentizátorem
#Storer

Storer je rozhraní pro ukládání autentizátorů, které obsahuje jednu metodu.

  • get(name: string): Promise<Authenticator> - Získá autentizátor podle jeho identifikátoru. V NocoBase je skutečný vrácený typ AuthModel.

#registerTypes()

Registruje typ autentizace.

#Podpis

  • registerTypes(authType: string, authConfig: AuthConfig)

#Typy

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

type AuthConfig = {
  auth: AuthExtend<Auth>; // Třída autentizace.
  title?: string; // Zobrazovaný název typu autentizace.
};

#Podrobnosti

VlastnostTypPopis
authAuthExtend<Auth>Implementace typu autentizace, viz Auth
titlestringVolitelné. Název tohoto typu autentizace zobrazený na frontendu.

#listTypes()

Získá seznam registrovaných typů autentizace.

#Podpis

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

#Podrobnosti

VlastnostTypPopis
namestringIdentifikátor typu autentizace
titlestringNázev typu autentizace

#get()

Získá autentizátor.

#Podpis

  • get(name: string, ctx: Context)

#Podrobnosti

VlastnostTypPopis
namestringIdentifikátor autentizátoru
ctxContextKontext požadavku

#middleware()

Autentizační middleware. Získá aktuální autentizátor a provede uživatelskou autentizaci.