JavaScript SDK: مرجع المصادقة
كل طريقة مصادقة وإدارة المستخدم، مع توقيعها.
6 د قراءة·المستوى مرجع·تمت المراجعة في 12/10/2026
تم إنشاء هذا النص الإنجليزي تلقائيًا من النص الأصلي الفرنسي ولم تتم مراجعته بعد.
تمت ترجمة هذه الصفحة تلقائيًا. النسخة الإنجليزية موثوقة.
#
وظائف
الوظائف المصدرة
| وظيفة | الوصف |
|---|---|
function isMfaChallenge(v: unknown): v is MfaChallenge | نوع الحماية المميز LoginResponse = TokenPair | MfaChallenge. |
#
فئة
AuthService
| الطريقة | الوصف |
|---|---|
dispose(): void | تفكيك دورة الحياة الاستباقية: الشريط، والرؤية، وقناة البث، والمستمعين. |
onAuthStateChange(callback: AuthStateCallback): { unsubscribe: () => void; data: { subscription: { unsubscribe: () => void; }; }; } | يستمع لتغييرات حالة الجلسة (SIGNED_IN, SIGNED_OUT, TOKEN_REFRESHED, USER_UPDATED, MFA_CHALLENGE...). |
signUp(req: SignUpRequest): Promise<AuraResponse<LoginResponse>> | إنشاء حساب بالبريد الإلكتروني وكلمة المرور. |
signInWithPassword(req: SignInRequest): Promise<AuraResponse<LoginResponse>> | تسجيل دخول المستخدم عن طريق البريد الإلكتروني وكلمة المرور. |
signInWithOAuth(provider: string, options?: OAuthSignInOptions): Promise<AuraResponse<{ url: string; }>> | يبدأ تدفق OAuth: يُرجع دائمًا { url } (ويعيد أيضًا توجيه المتصفح في حالة وجود window). |
signInWithMagicLink(req: MagicLinkRequest): Promise<AuraResponse<{ message: string; }>> | يرسل رابط اتصال عبر البريد الإلكتروني ("الرابط السحري"). |
signInAnonymously(): Promise<AuraResponse<TokenPair>> | إنشاء جلسة مجهولة (مستخدم بدون بريد إلكتروني)، يتم تسجيلها والإبلاغ عنها بواسطة SIGNED_IN. |
signOut(): Promise<AuraResponse<null>> | قطع الاتصال: يلغي رمز التحديث من جانب الخادم إذا كان موجودًا، ويمسح الجلسة المحلية، ويصدر SIGNED_OUT. |
refreshSession(): Promise<AuraResponse<TokenPair>> | تحديث الجلسة برمز التحديث وإصدار TOKEN_REFRESHED. |
getSession(): Promise<{ data: { session: Session | null; }; error: null; accessToken: string | null; access_token: string | null; user: User | null; }> | قراءة الجلسة الحالية من المتجر (متزامنة عمليًا، لا يوجد اتصال عبر الشبكة). |
setSession(accessToken: string, refreshToken: string): Promise<AuraResponse<User>> | تثبيت جلسة من رمز وصول موجود ورمز تحديث (على سبيل المثال، مستلم من خادم). |
exchangeCodeForSession(authCode: string, codeVerifier?: string): Promise<AuraResponse<LoginResponse>> | يستبدل رمز ترخيص PKCE لجلسة واحدة. |
listSessions(): Promise<AuraResponse<SessionInfo[]>> | يسرد جلسات المستخدم الذي قام بتسجيل الدخول (الجهاز، عنوان IP، التواريخ)؛ is_current يحدد موقع الجلسة الحالية. |
revokeSession(sessionId: string): Promise<AuraResponse<null>> | يلغي جلسة المستخدم المتصل بواسطة معرفه. |
revokeAllSessions(): Promise<AuraResponse<{ message: string; }>> | يقوم بتسجيل خروج المستخدم في كل مكان: يلغي جميع جلساته، ويمسح الجلسة المحلية، ويصدر SIGNED_OUT. |
getUser(jwt?: string): Promise<AuraResponse<User>> | يسترد المستخدم الذي تم التحقق من صحته من جانب الخادم. |
getClaims(jwt?: string, options?: { allowExpired?: boolean; issuer?: string; audience?: string; }): Promise<AuraResponse<GetClaimsResult>> | التحقق من مطالبات JWT وفك تشفيرها. |
deleteUser(password: string): Promise<AuraResponse<null>> | يحذف حساب المستخدم المتصل بعد التأكيد بكلمة المرور الخاصة به، ثم يمسح الجلسة المحلية. |
updateUser(req: UpdateUserRequest): Promise<AuraResponse<User>> | يقوم بتحديث المستخدم الذي قام بتسجيل الدخول (بيانات التعريف وكلمة المرور وما إلى ذلك) ويصدر USER_UPDATED. |
resetPasswordForEmail(req: PasswordResetRequest): Promise<AuraResponse<{ message: string; }>> | يرسل بريدًا إلكترونيًا لإعادة تعيين كلمة المرور. |
updatePassword(newPassword: string, currentPassword?: string): Promise<AuraResponse<User>> | يغير كلمة المرور للمستخدم الذي قام بتسجيل الدخول. |
mfaEnroll(): Promise<AuraResponse<MfaEnrollResponse>> | MFA: يبدأ تسجيل TOTP ويعيد secret وعنوان URL otpauth_url لعرضهما كرمز QR. |
mfaVerifySetup(code: string): Promise<AuraResponse<{ recovery_codes: string[]; }>> | MFA: يؤكد التسجيل بالرمز الأول ويعيد رموز الاسترداد. |
mfaVerify(req: MfaVerifyRequest): Promise<AuraResponse<TokenPair>> | MFA: ينهي الاتصال الذي أعاد تحديًا (mfa_token ورمز TOTP). |
mfaUnenroll(password: string): Promise<AuraResponse<{ message: string; }>> | MFA: يتم إلغاء تنشيط MFA بعد التأكيد بكلمة المرور. |
verifyOtp(params: VerifyEmailChangeOtpParams): Promise<AuraResponse<User>>verifyOtp(params: Exclude<VerifyOtpParams, VerifyEmailChangeOtpParams>): Promise<AuraResponse<TokenPair>> | نقطة دخول واحدة للتحقق من OTP (التكافؤ verifyOtp لـ @supabase/auth-js). |
resendVerificationEmail(email?: string): Promise<AuraResponse<{ message: string; }>> | يعيد إرسال رسالة التحقق إلى email أو إلى عنوان المستخدم الذي قام بتسجيل الدخول. |
signInWithEmailOtp(email: string): Promise<AuraResponse<{ message: string; }>> | يرسل رمز الاستخدام لمرة واحدة عبر البريد الإلكتروني؛ ليتم تأكيده بواسطة verifyOtp({ type: 'email' }). |
signInWithSmsOtp(phone: string): Promise<AuraResponse<{ message: string; }>> | يرسل رمزًا لمرة واحدة عبر الرسائل القصيرة؛ ليتم تأكيده بواسطة verifyOtp({ type: 'sms' }). |
listIdentities(): Promise<AuraResponse<IdentityInfo[]>> | يسرد الهويات (المقدمين) المرتبطة بالمستخدم الذي قام بتسجيل الدخول. |
linkIdentity(provider: string): Promise<AuraResponse<{ url: string; provider: string; }>> | يبدأ ربط الموفر OAuth بالحساب المتصل ويعيد عنوان URL للتفويض لفتحه. |
unlinkIdentity(identityId: string): Promise<AuraResponse<{ message: string; }>> | يفصل الهوية عن الحساب المتصل بواسطة معرفه. |
regenerateRecoveryCodes(code: string): Promise<AuraResponse<{ recovery_codes: string[]; }>> | MFA: يقوم بإعادة إنشاء رموز الاسترداد بعد التأكيد باستخدام رمز TOTP. |
signInWithIdToken(provider: string, idToken: string, accessToken?: string): Promise<AuraResponse<LoginResponse>> | تبادل معرف الرمز المميز للموفر (Google/Apple، الهاتف المحمول الأصلي) للجلسة. |
getSettings(): Promise<AuraResponse<{ disable_signup: boolean; external: Record<string, boolean>; mailer_autoconfirm: boolean; mfa_enabled: boolean; }>> | تكافؤ GoTrue: GET /settings - تكوين المشروع العام (لا يلزم المصادقة). |
getAnonKey(): Promise<AuraResponse<{ anon_key: string; }>> | المفتاح القابل للنشر (مفتاح مجهول) للمشروع — GET /anon-key (عام، مثل نموذج Supabase). |
resetPassword(token: string, newPassword: string): Promise<AuraResponse<TokenPair>> | يستهلك الرمز المميز لاستعادة كلمة المرور ويطبق كلمة المرور الجديدة. |
promoteAnonymous(credentials: { email: string; password: string; }): Promise<AuraResponse<TokenPair>> | يحول المستخدم المجهول الحالي (JWT مطلوب) إلى حساب بريد إلكتروني عادي + كلمة مرور. |
verifyMagicLink(token: string): Promise<AuraResponse<TokenPair>> | يستهلك رمز الرابط السحري ويعيد TokenPair. |
#
فئة
AuthAdminService
| الطريقة | الوصف |
|---|---|
listUsers(params?: { limit?: number; offset?: number; search?: string; }): Promise<AuraResponse<AdminUser[]>> | يسرد مستخدمي المشروع، مع البحث (search) وترقيم الصفحات (limit, offset). |
getUser(userId: string): Promise<AuraResponse<AdminUser>> | يقرأ المستخدم من خلال معرفه. |
createUser(data: AdminCreateUserRequest): Promise<AuraResponse<AdminUser>> | إنشاء مستخدم دون المرور بالتسجيل العام (البريد الإلكتروني، كلمة المرور، البيانات الوصفية، الدور). |
updateUser(userId: string, data: AdminUpdateUserRequest): Promise<AuraResponse<AdminUser>> | تحديث المستخدم: يتم تغيير الحقول المتوفرة فقط. |
deleteUser(userId: string): Promise<AuraResponse<null>> | حذف مستخدم. |
banUser(userId: string): Promise<AuraResponse<null>> | حظر مستخدم: لم يعد بإمكانه تسجيل الدخول. |
unbanUser(userId: string): Promise<AuraResponse<null>> | رفع الحظر عن المستخدم. |
generateLink(userId: string, type: GenerateLinkType): Promise<AuraResponse<GenerateLinkResult>> | يُنشئ رابطًا لمرة واحدة للمستخدم ('magic' أو 'recovery' أو 'invite') ويعيد { link, token }. |
getUserStats(): Promise<AuraResponse<UserStats>> | إحصائيات المستخدم: إجمالي، تم التحقق منه، محظور، مع MFA وجديد على مدار 7 أيام. |
listUserIdentities(userId: string): Promise<AuraResponse<IdentityInfo[]>> | يسرد الهويات المرتبطة بالمستخدم (موفري OAuth والبريد الإلكتروني). |
listSessions(params?: { userId?: string; limit?: number; offset?: number; }): Promise<AuraResponse<AdminSessionInfo[]>> | يسرد الجلسات النشطة لجميع المستخدمين، والتي يمكن تصفيتها حسب userId، مع ترقيم الصفحات. |
revokeSession(sessionId: string): Promise<AuraResponse<null>> | يلغي الجلسة بواسطة معرفها. |
getAuditLog(params?: { userId?: string; limit?: number; offset?: number; }): Promise<AuraResponse<AuditLogEntry[]>> | يقرأ سجل التدقيق (الإجراء، عنوان IP، وكيل المستخدم، التاريخ)، القابل للتصفية بواسطة userId، مع الترحيل. |
getSettings(): Promise<AuraResponse<AuthSettings>> | يقرأ إعدادات مصادقة المشروع. |
updateSettings(data: AuthSettingsUpdate): Promise<AuraResponse<AuthSettings>> | يقوم بتحديث إعدادات المصادقة الخاصة بالمشروع (دمج جزئي: تتم كتابة الحقول المتوفرة فقط، COALESCE على الجانب الخلفي). |
listEmailTemplates(): Promise<AuraResponse<Record<string, unknown>[]>> | يسرد قوالب البريد الإلكتروني لمصادقة المشروع. |
getEmailTemplate(type: string): Promise<AuraResponse<Record<string, unknown>>> | يقرأ قالب البريد الإلكتروني من نوع معين (مثل التأكيد والاسترداد). |
updateEmailTemplate(type: string, data: EmailTemplateUpdate): Promise<AuraResponse<Record<string, unknown>>> | يستبدل محتوى قالب البريد الإلكتروني من نوع معين. |
deleteEmailTemplate(type: string): Promise<AuraResponse<{ message: string; }>> | إزالة القالب المخصص من نوع البريد الإلكتروني. |
testEmailTemplate(type: string, body: { to_email: string; }): Promise<AuraResponse<null>> | يرسل بريدًا إلكترونيًا تجريبيًا يحتوي على قالب النوع إلى العنوان to_email. |
الصفحة التي تم إنشاؤها
يتم إنشاء هذه الصفحة من إعلانات النوع وتعليقات SDK، لذلك لا يمكن أن تنحرف عن التعليمات البرمجية المنشورة. للحصول على أمثلة عملية، اقرأ الأدلة.
آخر تحديث · 12/10/2026