logologo
Start
Manual
Utveckling
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
Manual
Utveckling
Plugins
API
logologo
API-översikt

@nocobase/auth

AuthManager
Auth
BaseAuth

@nocobase/cache

CacheManager
Cache

@nocobase/cli

NocoBase CLI
Globala Miljövariabler

@nocobase/client

Applikation
Plugin

@nocobase/database

Samling
Fält

interfaces

BaseInterface
Filteroperatorer

RelationRepository

BelongsToManyRepository
belongs-to-repository
HasManyRepository
HasOneRepository
Repository

shared

create-options
destroy-options
find-one
Tomt läge
transaction
update-options

@nocobase/data-source-manager

DataSourceManager
Datakälla (abstrakt)
ICollectionManager
ICollection
IField
IModel
IRepository

@nocobase/flow-engine

Datakällshanterare
Flödeskontext
FlowEngine
FlowModel
Flödesresurs

@nocobase/logger

Logger

@nocobase/server

AppCommand
Applikation
AuditManager
Kontext
Migrering
Plugin

@nocobase/sdk

Auth
Lagring
Previous PageAPI-översikt
Next PageAuth
TIP

Detta dokument har översatts av AI. För eventuella felaktigheter, se den engelska versionen

#AuthManager

#Översikt

AuthManager är NocoBase's modul för användarautentisering, som används för att registrera olika typer av användarautentisering.

#Grundläggande användning

const authManager = new AuthManager({
  // Används för att hämta den aktuella autentiseringsidentifieraren från begäranshuvudet
  authKey: 'X-Authenticator',
});

// Ställer in metoder för AuthManager att lagra och hämta autentiserare
authManager.setStorer({
  get: async (name: string) => {
    return db.getRepository('authenticators').find({ filter: { name } });
  },
});

// Registrerar en autentiseringstyp
authManager.registerTypes('basic', {
  auth: BasicAuth,
  title: 'Password',
});

// Använder autentiserings-middleware
app.resourceManager.use(authManager.middleware());

#Begrepp

  • Autentiseringstyp (AuthType): Olika metoder för användarautentisering, såsom lösenord, SMS, OIDC, SAML, med mera.
  • Autentiserare (Authenticator): Entiteten för en autentiseringsmetod, som faktiskt lagras i en samling, och motsvarar en konfigurationspost för en viss autentiseringstyp (AuthType). En autentiseringsmetod kan ha flera autentiserare, som motsvarar flera konfigurationer och tillhandahåller olika metoder för användarautentisering.
  • Autentiseringsidentifierare (Authenticator name): Den unika identifieraren för en autentiserare, som används för att bestämma vilken autentiseringsmetod som används för den aktuella begäran.

#Klassmetoder

#constructor()

Konstruktor, skapar en instans av AuthManager.

#Signatur

  • constructor(options: AuthManagerOptions)

#Typer

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

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

#Detaljer

#AuthManagerOptions
EgenskapTypBeskrivningStandardvärde
authKeystringValfritt, nyckeln i begäranshuvudet som innehåller den aktuella autentiseringsidentifieraren.X-Authenticator
defaultstringValfritt, standardautentiseringsidentifieraren.basic
jwtJwtOptionsValfritt, kan konfigureras om JWT används för autentisering.-
#JwtOptions
EgenskapTypBeskrivningStandardvärde
secretstringTokenhemlighetX-Authenticator
expiresInstringValfritt, tokenens giltighetstid.7d

#setStorer()

Ställer in metoder för att lagra och hämta autentiseringsdata.

#Signatur

  • setStorer(storer: Storer)

#Typer

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

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

#Detaljer

#Authenticator
EgenskapTypBeskrivning
authTypestringAutentiseringstyp
optionsRecord<string, any>Autentiserarrelaterad konfiguration
#Storer

Storer är gränssnittet för autentiseringslagring och innehåller en metod.

  • get(name: string): Promise<Authenticator> - Hämtar en autentiserare via dess identifierare. I NocoBase är den faktiska returtypen AuthModel.

#registerTypes()

Registrerar en autentiseringstyp.

#Signatur

  • registerTypes(authType: string, authConfig: AuthConfig)

#Typer

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

type AuthConfig = {
  auth: AuthExtend<Auth>; // Autentiseringsklassen.
  title?: string; // Visningsnamnet för autentiseringstypen.
};

#Detaljer

EgenskapTypBeskrivning
authAuthExtend<Auth>Implementering av autentiseringstypen, se Auth
titlestringValfritt. Titeln för denna autentiseringstyp som visas i frontend.

#listTypes()

Hämtar listan över registrerade autentiseringstyper.

#Signatur

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

#Detaljer

EgenskapTypBeskrivning
namestringAutentiseringstypens identifierare
titlestringAutentiseringstypens titel

#get()

Hämtar en autentiserare.

#Signatur

  • get(name: string, ctx: Context)

#Detaljer

EgenskapTypBeskrivning
namestringAutentiseringsidentifierare
ctxContextBegärans kontext

#middleware()

Autentiserings-middleware. Hämtar den aktuella autentiseraren och utför användarautentisering.