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
المستودع (Repository)

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

Auth
التخزين

@nocobase/telemetry

المقياس
Telemetry
التتبع
Previous PageAPI Overview
Next PageAuth
إشعار الترجمة بالذكاء الاصطناعي

تمت ترجمة هذه الوثائق تلقائيًا بواسطة الذكاء الاصطناعي.

#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',
});

// استخدام وسيط المصادقة
app.resourceManager.use(authManager.middleware());

#مفاهيم

  • نوع المصادقة (AuthType): طرق مصادقة المستخدم المختلفة، مثل: كلمة المرور، الرسائل القصيرة، OIDC، SAML، وما إلى ذلك.
  • المُصادِق (Authenticator): الكيان الخاص بطريقة المصادقة، يتم تخزينه فعليًا في مجموعة البيانات، ويتوافق مع سجل إعدادات لنوع مصادقة معين (AuthType). يمكن أن تحتوي طريقة مصادقة واحدة على عدة مُصادِقات، تتوافق مع إعدادات متعددة، وتوفر طرق مصادقة مستخدم مختلفة.
  • مُعرّف المُصادِق (Authenticator name): المُعرّف الفريد للمُصادِق، يُستخدم لتحديد طريقة المصادقة المستخدمة في الطلب الحالي.

#دوال الفئة

#الدالة البانية (constructor())

الدالة البانية، تُنشئ نسخة من AuthManager.

#التوقيع

  • constructor(options: AuthManagerOptions)

#الأنواع

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

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

#التفاصيل

#خيارات AuthManager (AuthManagerOptions)
الخاصيةالنوعالوصفالقيمة الافتراضية
authKeystringاختياري، المفتاح في ترويسة الطلب الذي يحمل مُعرّف المُصادِق الحالي.X-Authenticator
defaultstringاختياري، مُعرّف المُصادِق الافتراضي.basic
jwtJwtOptionsاختياري، يمكن إعداده في حال استخدام JWT للمصادقة.-
#خيارات JWT (JwtOptions)
الخاصيةالنوعالوصفالقيمة الافتراضية
secretstringمفتاح سر التوكن (token).X-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()

وسيط المصادقة. يحصل على المُصادِق الحالي ويُجري مصادقة المستخدم.