logologo
Start
Dokumentacja
Deweloperzy
Wtyczki
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
Dokumentacja
Deweloperzy
Wtyczki
API
logologo
Przegląd API

@nocobase/auth

AuthManager
Uwierzytelnianie
BaseAuth

@nocobase/cache

CacheManager
Pamięć podręczna

@nocobase/cli

NocoBase CLI
Globalne zmienne środowiskowe

@nocobase/client

Aplikacja
Wtyczka

@nocobase/database

Kolekcja
Pole

interfaces

BaseInterface
Operatory Filtrowania

RelationRepository

BelongsToManyRepository
belongs-to-repository
HasManyRepository
HasOneRepository
Repozytorium

shared

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

@nocobase/data-source-manager

DataSourceManager
Źródło danych (abstrakcyjne)
ICollectionManager
ICollection
IField
IModel
IRepository

@nocobase/flow-engine

Menedżer źródeł danych
Kontekst przepływu
FlowEngine
FlowModel
Zasób przepływu

@nocobase/logger

Rejestrator

@nocobase/server

AppCommand
Aplikacja
AuditManager
Kontekst
Migracja
Wtyczka

@nocobase/sdk

Autoryzacja
Storage
Previous PagePrzegląd API
Next PageUwierzytelnianie
TIP

Ten dokument został przetłumaczony przez AI. W przypadku niedokładności, proszę odnieść się do wersji angielskiej

#AuthManager

#Przegląd

AuthManager to moduł zarządzania uwierzytelnianiem użytkowników w NocoBase, służący do rejestrowania różnych typów uwierzytelniania.

#Podstawowe użycie

const authManager = new AuthManager({
  // Służy do pobierania identyfikatora bieżącego uwierzytelniacza z nagłówka żądania
  authKey: 'X-Authenticator',
});

// Ustawia metody dla AuthManagera do przechowywania i pobierania uwierzytelniaczy
authManager.setStorer({
  get: async (name: string) => {
    return db.getRepository('authenticators').find({ filter: { name } });
  },
});

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

// Używa oprogramowania pośredniczącego do uwierzytelniania
app.resourceManager.use(authManager.middleware());

#Koncepcje

  • Typ uwierzytelniania (AuthType): Różne metody uwierzytelniania użytkowników, takie jak: hasło, SMS, OIDC, SAML itp.
  • Uwierzytelniacz (Authenticator): Encja metody uwierzytelniania, faktycznie przechowywana w kolekcji, odpowiadająca rekordowi konfiguracji określonego typu uwierzytelniania (AuthType). Jedna metoda uwierzytelniania może mieć wiele uwierzytelniaczy, odpowiadających wielu konfiguracjom, zapewniających różne metody uwierzytelniania użytkowników.
  • Identyfikator uwierzytelniacza (Authenticator name): Unikalny identyfikator uwierzytelniacza, używany do określenia metody uwierzytelniania dla bieżącego żądania.

#Metody klasy

#constructor()

Konstruktor, tworzy instancję AuthManager.

#Sygnatura

  • constructor(options: AuthManagerOptions)

#Typy

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

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

#Szczegóły

#AuthManagerOptions
WłaściwośćTypOpisDomyślna wartość
authKeystringOpcjonalnie, klucz w nagłówku żądania przechowujący identyfikator bieżącego uwierzytelniacza.X-Authenticator
defaultstringOpcjonalnie, domyślny identyfikator uwierzytelniacza.basic
jwtJwtOptionsOpcjonalnie, można skonfigurować, jeśli do uwierzytelniania używany jest JWT.-
#JwtOptions
WłaściwośćTypOpisDomyślna wartość
secretstringSekret tokenaX-Authenticator
expiresInstringOpcjonalnie, czas ważności tokena.7d

#setStorer()

Ustawia metody przechowywania i pobierania danych uwierzytelniacza.

#Sygnatura

  • setStorer(storer: Storer)

#Typy

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

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

#Szczegóły

#Authenticator
WłaściwośćTypOpis
authTypestringTyp uwierzytelniania
optionsRecord<string, any>Konfiguracja związana z uwierzytelniaczem
#Storer

Storer to interfejs do przechowywania uwierzytelniaczy, zawierający jedną metodę.

  • get(name: string): Promise<Authenticator> - Pobiera uwierzytelniacz na podstawie jego identyfikatora. W NocoBase rzeczywisty zwracany typ to AuthModel.

#registerTypes()

Rejestruje typ uwierzytelniania.

#Sygnatura

  • registerTypes(authType: string, authConfig: AuthConfig)

#Typy

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

type AuthConfig = {
  auth: AuthExtend<Auth>; // The authentication class.
  title?: string; // The display name of the authentication type.
};

#Szczegóły

WłaściwośćTypOpis
authAuthExtend<Auth>Implementacja typu uwierzytelniania, zobacz Auth
titlestringOpcjonalnie. Tytuł tego typu uwierzytelniania wyświetlany w interfejsie użytkownika.

#listTypes()

Pobiera listę zarejestrowanych typów uwierzytelniania.

#Sygnatura

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

#Szczegóły

WłaściwośćTypOpis
namestringIdentyfikator typu uwierzytelniania
titlestringTytuł typu uwierzytelniania

#get()

Pobiera uwierzytelniacz.

#Sygnatura

  • get(name: string, ctx: Context)

#Szczegóły

WłaściwośćTypOpis
namestringIdentyfikator uwierzytelniacza
ctxContextKontekst żądania

#middleware()

Oprogramowanie pośredniczące do uwierzytelniania. Pobiera bieżący uwierzytelniacz i wykonuje uwierzytelnianie użytkownika.