شعار أوراباسي
aurabaseمستندات
مستندات›JavaScript SDK reference›Auth reference

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، لذلك لا يمكن أن تنحرف عن التعليمات البرمجية المنشورة. للحصول على أمثلة عملية، اقرأ الأدلة.