logologo
התחלה
מדריך
פיתוח
תוסף
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
התחלה
מדריך
פיתוח
תוסף
API
logologo
API Overview

@nocobase/auth

AuthManager
Auth
BaseAuth

@nocobase/cache

CacheManager
מטמון

@nocobase/cli

NocoBase CLI
משתני סביבה גלובליים

@nocobase/client

אפליקציה
תוסף

@nocobase/database

אוסף
שדה

interfaces

BaseInterface
אופרטורים לסינון

RelationRepository

BelongsToManyRepository
belongs-to-repository
HasManyRepository
HasOneRepository
מאגר

shared

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

@nocobase/data-source-manager

DataSourceManager
DataSource (מופשט)
ICollectionManager
ICollection
IField
IModel
IRepository

@nocobase/flow-engine

מנהל מקורות נתונים
הקשר תהליך
FlowEngine
FlowModel
משאב זרימה

@nocobase/logger

יומן

@nocobase/server

AppCommand
יישום
AuditManager
הקשר
הגירה
תוסף

@nocobase/sdk

אימות
אחסון

@nocobase/telemetry

מדד
טלמטריה
Trace
Previous PageAPI Overview
Next PageAuth
TIP

מסמך זה תורגם על ידי בינה מלאכותית. לכל אי דיוק, אנא עיין בגרסה האנגלית

#AuthManager

#סקירה כללית

AuthManager הוא מודול ניהול אימות המשתמשים ב-NocoBase, המשמש לרישום סוגי אימות משתמשים שונים.

#שימוש בסיסי

const authManager = new AuthManager({
  // משמש לקבלת מזהה המאמת הנוכחי מכותרת הבקשה
  authKey: 'X-Authenticator',
});

// מגדיר את השיטות של AuthManager לאחסון ושליפת מאמתים
authManager.setStorer({
  get: async (name: string) => {
    return db.getRepository('authenticators').find({ filter: { name } });
  },
});

// רושם סוג אימות
authManager.registerTypes('basic', {
  auth: BasicAuth,
  title: 'Password',
});

// משתמש ב-middleware של האימות
app.resourceManager.use(authManager.middleware());

#מושגים

  • סוג אימות (AuthType): שיטות אימות משתמשים שונות, כגון: סיסמה, SMS, OIDC, SAML ועוד.
  • מאמת (Authenticator): ישות המייצגת שיטת אימות, הנשמרת בפועל באוסף ומתאימה לרשומת תצורה של סוג אימות מסוים (AuthType). שיטת אימות אחת יכולה לכלול מספר מאמתים, המתאימים למספר תצורות, ומספקים שיטות אימות משתמשים שונות.
  • מזהה מאמת (Authenticator name): המזהה הייחודי של המאמת, המשמש לקביעת שיטת האימות המשמשת בבקשה הנוכחית.

#מתודות מחלקה

#constructor()

בנאי, יוצר מופע (instance) של AuthManager.

#חתימה

  • constructor(options: AuthManagerOptions)

#טיפוסים

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

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

#פרטים

#AuthManagerOptions
מאפייןטיפוסתיאורברירת מחדל
authKeystringאופציונלי, המפתח בכותרת הבקשה שמכיל את מזהה המאמת הנוכחי.X-Authenticator
defaultstringאופציונלי, מזהה המאמת ברירת המחדל.basic
jwtJwtOptionsאופציונלי, ניתן להגדרה אם משתמשים ב-JWT לאימות.-
#JwtOptions
מאפייןטיפוסתיאורברירת מחדל
secretstringסוד ה-tokenX-Authenticator
expiresInstringאופציונלי, זמן תפוגת ה-token.7d

#setStorer()

מגדיר את השיטות לאחסון ושליפת נתוני מאמתים.

#חתימה

  • setStorer(storer: Storer)

#טיפוסים

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

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

#פרטים

#Authenticator
מאפייןטיפוסתיאור
authTypestringסוג אימות
optionsRecord<string, any>הגדרות הקשורות למאמת
#Storer

Storer הוא הממשק לאחסון מאמתים, והוא מכיל מתודה אחת.

  • get(name: string): Promise<Authenticator> - מקבל מאמת לפי המזהה שלו. ב-NocoBase, הטיפוס המוחזר בפועל הוא AuthModel.

#registerTypes()

רושם סוג אימות.

#חתימה

  • registerTypes(authType: string, authConfig: AuthConfig)

#טיפוסים

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

type AuthConfig = {
  auth: AuthExtend<Auth>; // מחלקת האימות.
  title?: string; // שם התצוגה של סוג האימות.
};

#פרטים

מאפייןטיפוסתיאור
authAuthExtend<Auth>מימוש סוג האימות, ראו Auth
titlestringאופציונלי. הכותרת של סוג אימות זה המוצגת בממשק המשתמש.

#listTypes()

מקבל את רשימת סוגי האימות הרשומים.

#חתימה

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

#פרטים

מאפייןטיפוסתיאור
namestringמזהה סוג האימות
titlestringכותרת סוג האימות

#get()

מקבל מאמת.

#חתימה

  • get(name: string, ctx: Context)

#פרטים

מאפייןטיפוסתיאור
namestringמזהה המאמת
ctxContextהקשר הבקשה

#middleware()

middleware של אימות. מקבל את המאמת הנוכחי ומבצע אימות משתמשים.