BaseAuth class

الواجهة الرئيسية المشتركة لكل من Auth و TenantAwareAuth APIs.

إمضاء:

export declare abstract class BaseAuth 

طُرق

طريقة الصفات التعريفية وصف
createCustomToken(uid, DeveloperClaims) ينشئ رمزًا مميزًا مخصصًا لـ Firebase (JWT) جديدًا يمكن إرساله مرة أخرى إلى جهاز عميل لاستخدامه في تسجيل الدخول باستخدام أساليب signInWithCustomToken() الخاصة بحزم SDK الخاصة بالعميل. (ستعمل المثيلات المدركة للمستأجر أيضًا على تضمين معرف المستأجر في الرمز المميز.) راجع إنشاء رموز مخصصة للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.
كريتبروفيديركونفيج (التكوين) إرجاع وعد يتم حله باستخدام AuthProviderConfig المنشأ حديثًا عند إنشاء تكوين الموفر الجديد. يتطلب دعم موفر SAML وOIDC وجود منصة هوية Google Cloud (GCIP). لمعرفة المزيد حول GCIP، بما في ذلك الأسعار والميزات، راجع وثائق GCIP .
createSessionCookie(idToken, sessionCookieOptions) ينشئ ملف تعريف ارتباط جلسة Firebase جديدًا بالخيارات المحددة. يمكن تعيين سلسلة JWT التي تم إنشاؤها كملف تعريف ارتباط للجلسة من جانب الخادم مع سياسة ملفات تعريف الارتباط المخصصة، واستخدامها لإدارة الجلسة. سيكون لملف تعريف ارتباط الجلسة JWT نفس مطالبات الحمولة مثل رمز المعرف المقدم. راجع إدارة ملفات تعريف الارتباط للجلسة للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.
إنشاء مستخدم (خصائص) يقوم بإنشاء مستخدم جديد. راجع إنشاء مستخدم للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.
حذفProviderConfig(providerId) يحذف تكوين الموفر المطابق لمعرف الموفر الذي تم تمريره. إذا كان المعرف المحدد غير موجود، فسيتم ظهور خطأ auth/configuration-not-found . يتطلب دعم موفر SAML وOIDC وجود منصة هوية Google Cloud (GCIP). لمعرفة المزيد حول GCIP، بما في ذلك الأسعار والميزات، راجع وثائق GCIP .
حذف المستخدم (المعرف الفريد) حذف مستخدم موجود. راجع حذف مستخدم للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.
حذف المستخدمين(uids) يحذف المستخدمين المحددين بواسطة uids المحددة. لن يؤدي حذف مستخدم غير موجود إلى إنشاء خطأ (على سبيل المثال، هذه الطريقة غير فعالة.) سيتم اعتبار المستخدمين غير الموجودين قد تم حذفهم بنجاح، وبالتالي يتم حسابهم في القيمة DeleteUsersResult.successCount . يمكن توفير 1000 معرف فقط كحد أقصى. إذا تم توفير أكثر من 1000 معرف، فستطرح هذه الطريقة خطأ FirebaseAuthError. معدل واجهة برمجة التطبيقات (API) هذا حاليًا محدود على الخادم بـ 1 QPS. إذا تجاوزت هذا، فقد تحصل على خطأ تجاوز الحصة النسبية. ولذلك، إذا كنت تريد حذف أكثر من 1000 مستخدم، فقد تحتاج إلى إضافة تأخير لضمان عدم تجاوز هذا الحد.
GenereEmailVerificationLink(email, actionCodeSettings) يُنشئ رابط إجراء البريد الإلكتروني خارج النطاق للتحقق من ملكية المستخدم للبريد الإلكتروني المحدد. يحدد كائن ActionCodeSettings المقدم كوسيطة لهذه الطريقة ما إذا كان سيتم التعامل مع الرابط بواسطة تطبيق جوال أو متصفح بالإضافة إلى معلومات الحالة الإضافية التي سيتم تمريرها في الرابط العميق، وما إلى ذلك.
إنشاء رابط إعادة تعيين كلمة المرور (البريد الإلكتروني، إعدادات رمز الإجراء) يُنشئ رابط إجراء البريد الإلكتروني خارج النطاق لإعادة تعيين كلمة مرور المستخدم. يتم إنشاء الرابط للمستخدم باستخدام عنوان البريد الإلكتروني المحدد. يحدد كائن ActionCodeSettings الاختياري ما إذا كان سيتم التعامل مع الرابط بواسطة تطبيق جوال أو متصفح ومعلومات الحالة الإضافية التي سيتم تمريرها في الرابط العميق، وما إلى ذلك.
createSignInWithEmailLink(البريد الإلكتروني، إعدادات رمز العمل) يُنشئ رابط إجراء البريد الإلكتروني خارج النطاق للتحقق من ملكية المستخدم للبريد الإلكتروني المحدد. يحدد كائن ActionCodeSettings المقدم كوسيطة لهذه الطريقة ما إذا كان سيتم التعامل مع الرابط بواسطة تطبيق جوال أو متصفح بالإضافة إلى معلومات الحالة الإضافية التي سيتم تمريرها في الرابط العميق، وما إلى ذلك.
generatorVerifyAndChangeEmailLink(email, newEmail, actionCodeSettings) يُنشئ رابط إجراء بريد إلكتروني خارج النطاق للتحقق من ملكية المستخدم للبريد الإلكتروني المحدد. يحدد كائن ActionCodeSettings المقدم كوسيطة لهذه الطريقة ما إذا كان سيتم التعامل مع الرابط بواسطة تطبيق جوال أو متصفح بالإضافة إلى معلومات الحالة الإضافية التي سيتم تمريرها في الرابط العميق، وما إلى ذلك.
getProviderConfig(providerId) يبحث عن تكوين موفر المصادقة بواسطة المعرف المقدم. يُرجع وعدًا يتم حله من خلال تكوين الموفر المطابق لمعرف الموفر المحدد. إذا كان المعرف المحدد غير موجود، فسيتم ظهور خطأ auth/configuration-not-found . يتطلب دعم موفر SAML وOIDC وجود منصة هوية Google Cloud (GCIP). لمعرفة المزيد حول GCIP، بما في ذلك الأسعار والميزات، راجع وثائق GCIP .
الحصول على المستخدم (المعرف الفريد) يحصل على بيانات المستخدم الخاصة بالمستخدم المطابق لمعرف uid محدد. راجع استرداد بيانات المستخدم للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.
getUserByEmail (البريد الإلكتروني) يحصل على بيانات المستخدم للمستخدم المطابق لبريد إلكتروني معين. راجع استرداد بيانات المستخدم للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.
getUserByPhoneNumber(رقم الهاتف) يحصل على بيانات المستخدم للمستخدم المطابق لرقم هاتف معين. يجب أن يتوافق رقم الهاتف مع مواصفات E.164. راجع استرداد بيانات المستخدم للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.
getUserByProviderUid(providerId, uid) يحصل على بيانات المستخدم للمستخدم المطابق لمعرف موفر معين. راجع استرداد بيانات المستخدم للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.
getUsers(المعرفات) يحصل على بيانات المستخدم المطابقة للمعرفات المحددة. لا توجد ضمانات الطلب؛ على وجه الخصوص، لا يمكن ضمان أن الإدخال رقم n في قائمة النتائج يتوافق مع الإدخال رقم n في قائمة معلمات الإدخال. يمكن توفير 100 معرف فقط كحد أقصى. إذا تم توفير أكثر من 100 معرف، فستطرح هذه الطريقة خطأ FirebaseAuthError.
importUsers (المستخدمون، الخيارات) يستورد قائمة المستخدمين المقدمة إلى Firebase Auth. يُسمح باستيراد 1000 مستخدم كحد أقصى واحدًا تلو الآخر. عند استيراد مستخدمين بكلمات مرور، يلزم تحديد UserImportOptions . تم تحسين هذه العملية لعمليات الاستيراد المجمعة وستتجاهل عمليات التحقق من uid email والمعرفات الفريدة الأخرى التي قد تؤدي إلى تكرارات.
قائمة مقدمي الخدمات (الخيارات) إرجاع قائمة تكوينات الموفر الموجودة التي تطابق عامل التصفية المقدم. على الأكثر، يمكن إدراج 100 تكوين للموفر في المرة الواحدة. يتطلب دعم موفر SAML وOIDC وجود منصة هوية Google Cloud (GCIP). لمعرفة المزيد حول GCIP، بما في ذلك الأسعار والميزات، راجع وثائق GCIP .
قائمة المستخدمين (maxResults، pageToken) استرداد قائمة المستخدمين (دفعة واحدة فقط) بحجم maxResults بدءًا من الإزاحة كما هو محدد بواسطة pageToken . يتم استخدام هذا لاسترداد كافة مستخدمي مشروع محدد على دفعات. راجع قائمة بجميع المستخدمين للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.
إبطال RefreshTokens(uid) يلغي كافة الرموز المميزة للتحديث لمستخدم موجود. ستقوم واجهة برمجة التطبيقات هذه بتحديث UserRecord.tokensValidAfterTime الخاص بالمستخدم إلى UTC الحالي. من المهم أن يكون الخادم الذي يتم الاتصال عليه مضبوطًا على مدار الساعة بشكل صحيح ومتزامن. على الرغم من أن هذا سيؤدي إلى إلغاء جميع الجلسات لمستخدم محدد وتعطيل أي رموز معرفية جديدة للجلسات الحالية من أن يتم سكها، إلا أن رموز المعرف الحالية قد تظل نشطة حتى انتهاء صلاحيتها الطبيعية (ساعة واحدة). للتحقق من إبطال الرموز المميزة للمعرف، استخدم BaseAuth.verifyIdToken() حيث يتم تعيين checkRevoked على true.
setCustomUserClaims(uid، customUserClaims) لتعيين مطالبات مطور إضافية على مستخدم حالي تم تحديده بواسطة uid المقدم، والذي يستخدم عادةً لتحديد أدوار المستخدم ومستويات الوصول. يجب أن تنتشر هذه المطالبات إلى جميع الأجهزة التي قام المستخدم بتسجيل الدخول إليها بالفعل (بعد انتهاء صلاحية الرمز المميز أو عند فرض تحديث الرمز المميز) وفي المرة التالية التي يقوم فيها المستخدم بتسجيل الدخول. إذا تم استخدام اسم مطالبة OIDC محجوز (sub، iat، iss، إلخ )، يتم طرح خطأ. يتم تعيينها على رمز معرف المستخدم المصادق عليه JWT. راجع تحديد أدوار المستخدم ومستويات الوصول للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.
updateProviderConfig(providerId، UpdateConfig) إرجاع وعد يتم حله باستخدام AuthProviderConfig المحدث المطابق لمعرف الموفر المحدد. إذا كان المعرف المحدد غير موجود، فسيتم ظهور خطأ auth/configuration-not-found . يتطلب دعم موفر SAML وOIDC وجود منصة هوية Google Cloud (GCIP). لمعرفة المزيد حول GCIP، بما في ذلك الأسعار والميزات، راجع وثائق GCIP .
تحديث المستخدم (المعرف، الخصائص) يقوم بتحديث مستخدم موجود. راجع تحديث المستخدم للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.
VerIdToken(idToken، checkRevoced) التحقق من رمز معرف Firebase (JWT). إذا كان الرمز المميز صالحًا، فسيتم الوفاء بالوعد من خلال مطالبات الرمز المميز التي تم فك تشفيرها؛ وإلا فإن الوعد مرفوض. إذا تم تعيين checkRevoked على true، يتحقق أولاً ما إذا كان المستخدم المقابل معطلاً. إذا كانت الإجابة بنعم، فسيتم ظهور خطأ auth/user-disabled . إذا كانت الإجابة لا، يتم التحقق مما إذا تم إبطال الجلسة المقابلة لرمز المعرف. إذا تم إبطال جلسة المستخدم المقابلة، فسيتم ظهور خطأ auth/id-token-revoked . إذا لم يتم تحديده، فلن يتم تطبيق الشيك. راجع التحقق من رموز الهوية للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.
VereSessionCookie(sessionCookie, checkRevoced) التحقق من ملف تعريف ارتباط جلسة Firebase. إرجاع وعد مع مطالبات ملفات تعريف الارتباط. يرفض الوعد إذا تعذر التحقق من ملف تعريف الارتباط. إذا تم تعيين checkRevoked على true، يتحقق أولاً مما إذا كان المستخدم المقابل معطلاً: إذا كانت الإجابة بنعم، فسيتم ظهور خطأ auth/user-disabled . إذا كانت الإجابة لا، يتم التحقق من إلغاء الجلسة المقابلة لملف تعريف ارتباط الجلسة. إذا تم إبطال جلسة المستخدم المقابلة، فسيتم ظهور خطأ auth/session-cookie-revoked . إذا لم يتم تحديده، فلن يتم إجراء الفحص. راجع التحقق من ملفات تعريف الارتباط للجلسة للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية

BaseAuth.createCustomToken()

ينشئ رمزًا مميزًا مخصصًا لـ Firebase (JWT) جديدًا يمكن إرساله مرة أخرى إلى جهاز عميل لاستخدامه في تسجيل الدخول باستخدام أساليب signInWithCustomToken() الخاصة بحزم SDK الخاصة بالعميل. (ستعمل المثيلات المدركة للمستأجر أيضًا على تضمين معرف المستأجر في الرمز المميز.)

راجع إنشاء رموز مخصصة للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.

إمضاء:

createCustomToken(uid: string, developerClaims?: object): Promise<string>;

حدود

معامل يكتب وصف
uid خيط المعرف uid لاستخدامه كموضوع للرمز المميز.
DeveloperClaims هدف مطالبات إضافية اختيارية لتضمينها في حمولة الرمز المميز المخصص.

عائدات:

وعد <سلسلة>

وعد يتم الوفاء به باستخدام رمز مميز مخصص لـ uid والحمولة النافعة المقدمة.

BaseAuth.createProviderConfig()

إرجاع وعد يتم حله باستخدام AuthProviderConfig المنشأ حديثًا عند إنشاء تكوين الموفر الجديد.

يتطلب دعم موفر SAML وOIDC وجود منصة هوية Google Cloud (GCIP). لمعرفة المزيد حول GCIP، بما في ذلك الأسعار والميزات، راجع وثائق GCIP .

إمضاء:

createProviderConfig(config: AuthProviderConfig): Promise<AuthProviderConfig>;

حدود

معامل يكتب وصف
التكوين AuthProviderConfig تكوين الموفر لإنشاء.

عائدات:

وعد< AuthProviderConfig >

وعد يتم حله من خلال تكوين الموفر الذي تم إنشاؤه.

BaseAuth.createSessionCookie()

ينشئ ملف تعريف ارتباط جلسة Firebase جديدًا بالخيارات المحددة. يمكن تعيين سلسلة JWT التي تم إنشاؤها كملف تعريف ارتباط للجلسة من جانب الخادم مع سياسة ملفات تعريف الارتباط المخصصة، واستخدامها لإدارة الجلسة. سيكون لملف تعريف ارتباط الجلسة JWT نفس مطالبات الحمولة مثل رمز المعرف المقدم.

راجع إدارة ملفات تعريف الارتباط للجلسة للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.

إمضاء:

createSessionCookie(idToken: string, sessionCookieOptions: SessionCookieOptions): Promise<string>;

حدود

معامل يكتب وصف
idToken خيط رمز Firebase ID المميز لاستبدال ملف تعريف ارتباط الجلسة.
sessionCookieOptions خيارات ملفات تعريف الارتباط للجلسة خيارات ملفات تعريف الارتباط للجلسة والتي تتضمن مدة الجلسة المخصصة.

عائدات:

وعد <سلسلة>

وعد يتم حله بنجاح باستخدام ملف تعريف ارتباط الجلسة الذي تم إنشاؤه.

BaseAuth.createUser()

يقوم بإنشاء مستخدم جديد.

راجع إنشاء مستخدم للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.

إمضاء:

createUser(properties: CreateRequest): Promise<UserRecord>;

حدود

معامل يكتب وصف
ملكيات إنشاء طلب الخصائص التي سيتم تعيينها في سجل المستخدم الجديد الذي سيتم إنشاؤه.

عائدات:

وعد < سجل المستخدم >

وعد يتم الوفاء به مع بيانات المستخدم المقابلة للمستخدم الذي تم إنشاؤه حديثًا.

BaseAuth.deleteProviderConfig()

يحذف تكوين الموفر المطابق لمعرف الموفر الذي تم تمريره. إذا كان المعرف المحدد غير موجود، فسيتم ظهور خطأ auth/configuration-not-found .

يتطلب دعم موفر SAML وOIDC وجود منصة هوية Google Cloud (GCIP). لمعرفة المزيد حول GCIP، بما في ذلك الأسعار والميزات، راجع وثائق GCIP .

إمضاء:

deleteProviderConfig(providerId: string): Promise<void>;

حدود

معامل يكتب وصف
معرف_الموفر خيط معرف الموفر المطابق لتكوين الموفر المطلوب حذفه.

عائدات:

وعد<باطل>

الوعد الذي يحسم عند الانتهاء.

BaseAuth.deleteUser()

حذف مستخدم موجود.

راجع حذف مستخدم للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.

إمضاء:

deleteUser(uid: string): Promise<void>;

حدود

معامل يكتب وصف
uid خيط uid المستخدم المطابق للمستخدم المراد حذفه.

عائدات:

وعد<باطل>

وعد فارغ يتم الوفاء به بمجرد حذف المستخدم.

BaseAuth.deleteUsers()

يحذف المستخدمين المحددين بواسطة uids المحددة.

لن يؤدي حذف مستخدم غير موجود إلى إنشاء خطأ (على سبيل المثال، هذه الطريقة غير فعالة.) سيتم اعتبار المستخدمين غير الموجودين قد تم حذفهم بنجاح، وبالتالي يتم حسابهم في القيمة DeleteUsersResult.successCount .

يمكن توفير 1000 معرف فقط كحد أقصى. إذا تم توفير أكثر من 1000 معرف، فستطرح هذه الطريقة خطأ FirebaseAuthError.

معدل واجهة برمجة التطبيقات (API) هذا حاليًا محدود على الخادم بـ 1 QPS. إذا تجاوزت هذا، فقد تحصل على خطأ تجاوز الحصة النسبية. ولذلك، إذا كنت تريد حذف أكثر من 1000 مستخدم، فقد تحتاج إلى إضافة تأخير لضمان عدم تجاوز هذا الحد.

إمضاء:

deleteUsers(uids: string[]): Promise<DeleteUsersResult>;

حدود

معامل يكتب وصف
uids خيط[] uids المقابلة للمستخدمين المراد حذفها.

عائدات:

وعد< حذفUsersResult >

وعد يحل المشكلة مع العدد الإجمالي لعمليات الحذف الناجحة/الفاشلة، بالإضافة إلى مجموعة الأخطاء التي تتوافق مع عمليات الحذف الفاشلة.

يُنشئ رابط إجراء البريد الإلكتروني خارج النطاق للتحقق من ملكية المستخدم للبريد الإلكتروني المحدد. يحدد كائن ActionCodeSettings المقدم كوسيطة لهذه الطريقة ما إذا كان سيتم التعامل مع الرابط بواسطة تطبيق جوال أو متصفح بالإضافة إلى معلومات الحالة الإضافية التي سيتم تمريرها في الرابط العميق، وما إلى ذلك.

إمضاء:

generateEmailVerificationLink(email: string, actionCodeSettings?: ActionCodeSettings): Promise<string>;

حدود

معامل يكتب وصف
بريد إلكتروني خيط حساب البريد الإلكتروني للتحقق.
actionCodeSettings إعدادات رمز الإجراء إعدادات رمز الإجراء. إذا تم تحديده، فسيتم تعيين عنوان URL للحالة/المتابعة كمعلمة "continueUrl" في رابط التحقق من البريد الإلكتروني. ستستخدم الصفحة المقصودة الافتراضية للتحقق من البريد الإلكتروني هذا لعرض رابط للعودة إلى التطبيق إذا كان مثبتًا. إذا لم يتم تحديد actionCodeSettings، فلن يتم إلحاق أي عنوان URL بعنوان URL للإجراء. يجب أن ينتمي عنوان URL للحالة المقدم إلى نطاق مدرج في القائمة البيضاء بواسطة المطور في وحدة التحكم. وإلا فسيتم طرح خطأ. لا تنطبق عمليات إعادة توجيه تطبيقات الهاتف المحمول إلا إذا قام المطور بتكوين شروط خدمة Firebase Dynamic Links وقبولها. يتم احترام اسم حزمة Android ومعرف حزمة iOS فقط إذا تم تكوينهما في نفس مشروع Firebase Auth.

عائدات:

وعد <سلسلة>

وعد يتم حله باستخدام الرابط الذي تم إنشاؤه.

مثال

var actionCodeSettings = {
  url: 'https://www.example.com/cart?email=user@example.com&cartId=123',
  iOS: {
    bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true,
  dynamicLinkDomain: 'custom.page.link'
};
admin.auth()
    .generateEmailVerificationLink('user@example.com', actionCodeSettings)
    .then(function(link) {
      // The link was successfully generated.
    })
    .catch(function(error) {
      // Some error occurred, you can inspect the code: error.code
    });

يُنشئ رابط إجراء البريد الإلكتروني خارج النطاق لإعادة تعيين كلمة مرور المستخدم. يتم إنشاء الرابط للمستخدم باستخدام عنوان البريد الإلكتروني المحدد. يحدد كائن ActionCodeSettings الاختياري ما إذا كان سيتم التعامل مع الرابط بواسطة تطبيق جوال أو متصفح ومعلومات الحالة الإضافية التي سيتم تمريرها في الرابط العميق، وما إلى ذلك.

إمضاء:

generatePasswordResetLink(email: string, actionCodeSettings?: ActionCodeSettings): Promise<string>;

حدود

معامل يكتب وصف
بريد إلكتروني خيط عنوان البريد الإلكتروني للمستخدم الذي سيتم إعادة تعيين كلمة المرور الخاصة به.
actionCodeSettings إعدادات رمز الإجراء إعدادات رمز الإجراء. إذا تم تحديده، فسيتم تعيين عنوان URL للحالة/المتابعة كمعلمة "continueUrl" في رابط إعادة تعيين كلمة المرور. ستستخدم الصفحة المقصودة الافتراضية لإعادة تعيين كلمة المرور هذا لعرض رابط للعودة إلى التطبيق إذا كان مثبتًا. إذا لم يتم تحديد actionCodeSettings، فلن يتم إلحاق أي عنوان URL بعنوان URL للإجراء. يجب أن ينتمي عنوان URL للحالة المقدم إلى نطاق مدرج في القائمة البيضاء بواسطة المطور في وحدة التحكم. وإلا فسيتم طرح خطأ. لا تنطبق عمليات إعادة توجيه تطبيقات الهاتف المحمول إلا إذا قام المطور بتكوين شروط خدمة Firebase Dynamic Links وقبولها. يتم احترام اسم حزمة Android ومعرف حزمة iOS فقط إذا تم تكوينهما في نفس مشروع Firebase Auth.

عائدات:

وعد <سلسلة>

وعد يتم حله باستخدام الرابط الذي تم إنشاؤه.

مثال

var actionCodeSettings = {
  url: 'https://www.example.com/?email=user@example.com',
  iOS: {
    bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true,
  dynamicLinkDomain: 'custom.page.link'
};
admin.auth()
    .generatePasswordResetLink('user@example.com', actionCodeSettings)
    .then(function(link) {
      // The link was successfully generated.
    })
    .catch(function(error) {
      // Some error occurred, you can inspect the code: error.code
    });

يُنشئ رابط إجراء البريد الإلكتروني خارج النطاق للتحقق من ملكية المستخدم للبريد الإلكتروني المحدد. يحدد كائن ActionCodeSettings المقدم كوسيطة لهذه الطريقة ما إذا كان سيتم التعامل مع الرابط بواسطة تطبيق جوال أو متصفح بالإضافة إلى معلومات الحالة الإضافية التي سيتم تمريرها في الرابط العميق، وما إلى ذلك.

إمضاء:

generateSignInWithEmailLink(email: string, actionCodeSettings: ActionCodeSettings): Promise<string>;

حدود

معامل يكتب وصف
بريد إلكتروني خيط حساب البريد الإلكتروني للتحقق.
actionCodeSettings إعدادات رمز الإجراء إعدادات رمز الإجراء. إذا تم تحديده، فسيتم تعيين عنوان URL للحالة/المتابعة كمعلمة "continueUrl" في رابط التحقق من البريد الإلكتروني. ستستخدم الصفحة المقصودة الافتراضية للتحقق من البريد الإلكتروني هذا لعرض رابط للعودة إلى التطبيق إذا كان مثبتًا. إذا لم يتم تحديد actionCodeSettings، فلن يتم إلحاق أي عنوان URL بعنوان URL للإجراء. يجب أن ينتمي عنوان URL للحالة المقدم إلى نطاق مدرج في القائمة البيضاء بواسطة المطور في وحدة التحكم. وإلا فسيتم طرح خطأ. لا تنطبق عمليات إعادة توجيه تطبيقات الهاتف المحمول إلا إذا قام المطور بتكوين شروط خدمة Firebase Dynamic Links وقبولها. يتم احترام اسم حزمة Android ومعرف حزمة iOS فقط إذا تم تكوينهما في نفس مشروع Firebase Auth.

عائدات:

وعد <سلسلة>

وعد يتم حله باستخدام الرابط الذي تم إنشاؤه.

مثال

var actionCodeSettings = {
  url: 'https://www.example.com/cart?email=user@example.com&cartId=123',
  iOS: {
    bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true,
  dynamicLinkDomain: 'custom.page.link'
};
admin.auth()
    .generateEmailVerificationLink('user@example.com', actionCodeSettings)
    .then(function(link) {
      // The link was successfully generated.
    })
    .catch(function(error) {
      // Some error occurred, you can inspect the code: error.code
    });

يُنشئ رابط إجراء بريد إلكتروني خارج النطاق للتحقق من ملكية المستخدم للبريد الإلكتروني المحدد. يحدد كائن ActionCodeSettings المقدم كوسيطة لهذه الطريقة ما إذا كان سيتم التعامل مع الرابط بواسطة تطبيق جوال أو متصفح بالإضافة إلى معلومات الحالة الإضافية التي سيتم تمريرها في الرابط العميق، وما إلى ذلك.

إمضاء:

generateVerifyAndChangeEmailLink(email: string, newEmail: string, actionCodeSettings?: ActionCodeSettings): Promise<string>;

حدود

معامل يكتب وصف
بريد إلكتروني خيط حساب البريد الإلكتروني الحالي.
بريد إلكتروني جديد خيط عنوان البريد الإلكتروني الذي يتم تحديث الحساب إليه.
actionCodeSettings إعدادات رمز الإجراء إعدادات رمز الإجراء. إذا تم تحديده، فسيتم تعيين عنوان URL للحالة/المتابعة كمعلمة "continueUrl" في رابط التحقق من البريد الإلكتروني. ستستخدم الصفحة المقصودة الافتراضية للتحقق من البريد الإلكتروني هذا لعرض رابط للعودة إلى التطبيق إذا كان مثبتًا. إذا لم يتم تحديد actionCodeSettings، فلن يتم إلحاق أي عنوان URL بعنوان URL للإجراء. يجب أن ينتمي عنوان URL للحالة المقدم إلى مجال مصرح به في وحدة التحكم، وإلا سيتم عرض خطأ. لا تنطبق عمليات إعادة توجيه تطبيقات الهاتف المحمول إلا إذا قام المطور بتكوين شروط خدمة Firebase Dynamic Links وقبولها. يتم احترام اسم حزمة Android ومعرف حزمة iOS فقط إذا تم تكوينهما في نفس مشروع Firebase Auth.

عائدات:

وعد <سلسلة>

وعد يتم حله باستخدام الرابط الذي تم إنشاؤه.

BaseAuth.getProviderConfig()

يبحث عن تكوين موفر المصادقة بواسطة المعرف المقدم. يُرجع وعدًا يتم حله من خلال تكوين الموفر المطابق لمعرف الموفر المحدد. إذا كان المعرف المحدد غير موجود، فسيتم ظهور خطأ auth/configuration-not-found .

يتطلب دعم موفر SAML وOIDC وجود منصة هوية Google Cloud (GCIP). لمعرفة المزيد حول GCIP، بما في ذلك الأسعار والميزات، راجع وثائق GCIP .

إمضاء:

getProviderConfig(providerId: string): Promise<AuthProviderConfig>;

حدود

معامل يكتب وصف
معرف_الموفر خيط معرف الموفر المطابق لتكوين الموفر المراد إرجاعه.

عائدات:

وعد< AuthProviderConfig >

وعد يتم حله من خلال التكوين المطابق للمعرف المقدم.

BaseAuth.getUser()

يحصل على بيانات المستخدم الخاصة بالمستخدم المطابق لمعرف uid معين .

راجع استرداد بيانات المستخدم للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.

إمضاء:

getUser(uid: string): Promise<UserRecord>;

حدود

معامل يكتب وصف
uid خيط المعرف uid المطابق للمستخدم الذي سيتم جلب بياناته.

عائدات:

وعد < سجل المستخدم >

وعد تم الوفاء به مع بيانات المستخدم المقابلة uid المقدم .

BaseAuth.getUserByEmail()

يحصل على بيانات المستخدم للمستخدم المطابق لبريد إلكتروني معين.

راجع استرداد بيانات المستخدم للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.

إمضاء:

getUserByEmail(email: string): Promise<UserRecord>;

حدود

معامل يكتب وصف
بريد إلكتروني خيط البريد الإلكتروني المطابق للمستخدم الذي سيتم جلب بياناته.

عائدات:

وعد < سجل المستخدم >

وعد يتم الوفاء به مع بيانات المستخدم المقابلة للبريد الإلكتروني المقدم.

BaseAuth.getUserByPhoneNumber()

يحصل على بيانات المستخدم للمستخدم المطابق لرقم هاتف معين. يجب أن يتوافق رقم الهاتف مع مواصفات E.164.

راجع استرداد بيانات المستخدم للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.

إمضاء:

getUserByPhoneNumber(phoneNumber: string): Promise<UserRecord>;

حدود

معامل يكتب وصف
رقم التليفون خيط رقم الهاتف المقابل للمستخدم الذي سيتم جلب بياناته.

عائدات:

وعد < سجل المستخدم >

وعد يتم الوفاء به مع بيانات المستخدم المقابلة لرقم الهاتف المقدم.

BaseAuth.getUserByProviderUid()

يحصل على بيانات المستخدم للمستخدم المطابق لمعرف موفر معين.

راجع استرداد بيانات المستخدم للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.

إمضاء:

getUserByProviderUid(providerId: string, uid: string): Promise<UserRecord>;

حدود

معامل يكتب وصف
معرف_الموفر خيط معرف الموفر، على سبيل المثال، "google.com" لموفر Google.
uid خيط معرف المستخدم للموفر المحدد.

عائدات:

وعد < سجل المستخدم >

وعد يتم الوفاء به مع بيانات المستخدم المقابلة لمعرف المزود المحدد.

BaseAuth.getUsers()

يحصل على بيانات المستخدم المطابقة للمعرفات المحددة.

لا توجد ضمانات الطلب؛ على وجه الخصوص، لا يمكن ضمان أن الإدخال رقم n في قائمة النتائج يتوافق مع الإدخال رقم n في قائمة معلمات الإدخال.

يمكن توفير 100 معرف فقط كحد أقصى. إذا تم توفير أكثر من 100 معرف، فستطرح هذه الطريقة خطأ FirebaseAuthError.

إمضاء:

getUsers(identifiers: UserIdentifier[]): Promise<GetUsersResult>;

حدود

معامل يكتب وصف
معرفات معرف المستخدم [] المعرفات المستخدمة للإشارة إلى سجلات المستخدم التي يجب إرجاعها. يجب ألا يحتوي على أكثر من 100 إدخال.

عائدات:

وعد < GetUsersResult >

وعد يتم حله لسجلات المستخدم المقابلة.

الاستثناءات

FirebaseAuthError إذا كان أي من المعرفات غير صالح أو إذا تم تحديد أكثر من 100 معرف.

BaseAuth.importUsers()

يستورد قائمة المستخدمين المقدمة إلى Firebase Auth. يُسمح باستيراد 1000 مستخدم كحد أقصى واحدًا تلو الآخر. عند استيراد مستخدمين بكلمات مرور، يلزم تحديد UserImportOptions . تم تحسين هذه العملية لعمليات الاستيراد المجمعة وستتجاهل عمليات التحقق من المعرف uid . email والمعرفات الفريدة الأخرى التي قد تؤدي إلى الازدواجية.

إمضاء:

importUsers(users: UserImportRecord[], options?: UserImportOptions): Promise<UserImportResult>;

حدود

معامل يكتب وصف
المستخدمين UserImportRecord [] قائمة سجلات المستخدم المراد استيرادها إلى Firebase Auth.
خيارات خيارات استيراد المستخدم خيارات استيراد المستخدم، مطلوبة عندما يقوم المستخدمون المقدمون بتضمين بيانات اعتماد كلمة المرور.

عائدات:

وعد< UserImportResult >

وعد يتم حله عند اكتمال العملية بنتيجة الاستيراد. يتضمن ذلك عدد عمليات الاستيراد الناجحة وعدد عمليات الاستيراد الفاشلة والأخطاء المقابلة لها.

BaseAuth.listProviderConfigs()

إرجاع قائمة تكوينات الموفر الموجودة التي تطابق عامل التصفية المقدم. على الأكثر، يمكن إدراج 100 تكوين للموفر في المرة الواحدة.

يتطلب دعم موفر SAML وOIDC وجود منصة هوية Google Cloud (GCIP). لمعرفة المزيد حول GCIP، بما في ذلك الأسعار والميزات، راجع وثائق GCIP .

إمضاء:

listProviderConfigs(options: AuthProviderConfigFilter): Promise<ListProviderConfigResults>;

حدود

معامل يكتب وصف
خيارات AuthProviderConfigFilter مرشح تكوين الموفر المطلوب تطبيقه.

عائدات:

وعد< ListProviderConfigResults >

وعد يتم حله من خلال قائمة تكوينات الموفر التي تلبي متطلبات التصفية.

BaseAuth.listUsers()

استرداد قائمة المستخدمين (دفعة واحدة فقط) بحجم maxResults بدءًا من الإزاحة كما هو محدد بواسطة pageToken . يتم استخدام هذا لاسترداد كافة مستخدمي مشروع محدد على دفعات.

راجع قائمة بجميع المستخدمين للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.

إمضاء:

listUsers(maxResults?: number, pageToken?: string): Promise<ListUsersResult>;

حدود

معامل يكتب وصف
maxResults رقم حجم الصفحة 1000 إذا لم يتم تحديده. وهذا أيضًا الحد الأقصى المسموح به.
pageToken خيط رمز الصفحة التالية. إذا لم يتم تحديده، فسيتم إرجاع المستخدمين الذين يبدأون بدون أي إزاحة.

عائدات:

الوعد < ListUsersResult >

وعد يتم حله مع الدفعة الحالية من المستخدمين الذين تم تنزيلهم والرمز المميز للصفحة التالية.

BaseAuth.revocRefreshTokens()

يلغي كافة الرموز المميزة للتحديث لمستخدم موجود.

ستقوم واجهة برمجة التطبيقات هذه بتحديث UserRecord.tokensValidAfterTime الخاص بالمستخدم إلى UTC الحالي. من المهم أن يكون الخادم الذي يتم الاتصال عليه مضبوطًا على مدار الساعة بشكل صحيح ومتزامن.

على الرغم من أن هذا سيؤدي إلى إلغاء جميع الجلسات لمستخدم محدد وتعطيل أي رموز معرفية جديدة للجلسات الحالية من أن يتم سكها، إلا أن رموز المعرف الحالية قد تظل نشطة حتى انتهاء صلاحيتها الطبيعية (ساعة واحدة). للتحقق من إبطال الرموز المميزة للمعرف، استخدم BaseAuth.verifyIdToken() حيث يتم تعيين checkRevoked على true.

إمضاء:

revokeRefreshTokens(uid: string): Promise<void>;

حدود

معامل يكتب وصف
uid خيط المعرف uid المطابق للمستخدم الذي سيتم إبطال رموز التحديث المميزة له.

عائدات:

وعد<باطل>

وعد فارغ يتم الوفاء به بمجرد إلغاء رموز التحديث المميزة للمستخدم.

BaseAuth.setCustomUserClaims()

لتعيين مطالبات مطور إضافية على مستخدم حالي تم تحديده بواسطة المعرف الفريد uid المقدم ، يُستخدم عادةً لتحديد أدوار المستخدم ومستويات الوصول. يجب أن تنتشر هذه المطالبات إلى جميع الأجهزة التي قام المستخدم بتسجيل الدخول إليها بالفعل (بعد انتهاء صلاحية الرمز المميز أو عند فرض تحديث الرمز المميز) وفي المرة التالية التي يقوم فيها المستخدم بتسجيل الدخول. إذا تم استخدام اسم مطالبة OIDC محجوز (sub، iat، iss، إلخ )، يتم طرح خطأ. يتم تعيينها على رمز معرف المستخدم المصادق عليه JWT.

راجع تحديد أدوار المستخدم ومستويات الوصول للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.

إمضاء:

setCustomUserClaims(uid: string, customUserClaims: object | null): Promise<void>;

حدود

معامل يكتب وصف
uid خيط uid المستخدم للتحرير.
customUserClaims كائن | باطل يدعي المطور لتعيين. إذا تم تمرير القيمة null، فسيتم حذف المطالبات المخصصة الموجودة. سيؤدي تمرير حمولة مطالبات مخصصة أكبر من 1000 بايت إلى حدوث خطأ. تتم إضافة المطالبات المخصصة إلى رمز معرف المستخدم الذي يتم إرساله عند كل طلب تمت مصادقته. بالنسبة لسمات المستخدم ذات الصلة بعدم الوصول إلى ملف التعريف، استخدم قاعدة البيانات أو أنظمة تخزين منفصلة أخرى.

عائدات:

وعد<باطل>

وعد يتم حله عند اكتمال العملية بنجاح.

BaseAuth.updateProviderConfig()

إرجاع وعد يتم حله باستخدام AuthProviderConfig المحدث المطابق لمعرف الموفر المحدد. إذا كان المعرف المحدد غير موجود، فسيتم ظهور خطأ auth/configuration-not-found .

يتطلب دعم موفر SAML وOIDC وجود منصة هوية Google Cloud (GCIP). لمعرفة المزيد حول GCIP، بما في ذلك الأسعار والميزات، راجع وثائق GCIP .

إمضاء:

updateProviderConfig(providerId: string, updatedConfig: UpdateAuthProviderRequest): Promise<AuthProviderConfig>;

حدود

معامل يكتب وصف
معرف_الموفر خيط معرف الموفر المطابق لتكوين الموفر للتحديث.
محدث UpdateAuthProviderRequest التكوين المحدث.

عائدات:

وعد< AuthProviderConfig >

وعد يتم حله مع تكوين الموفر المحدث.

BaseAuth.updateUser()

يقوم بتحديث مستخدم موجود.

راجع تحديث المستخدم للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.

إمضاء:

updateUser(uid: string, properties: UpdateRequest): Promise<UserRecord>;

حدود

معامل يكتب وصف
uid خيط uid المستخدم المطابق للمستخدم المراد تحديثه.
ملكيات طلب تحديث الخصائص المراد تحديثها على المستخدم المقدم.

عائدات:

وعد < سجل المستخدم >

الوعد الذي تم الوفاء به مع بيانات المستخدم المحدثة.

BaseAuth.verifyIdToken()

التحقق من رمز معرف Firebase (JWT). إذا كان الرمز المميز صالحًا، فسيتم الوفاء بالوعد من خلال مطالبات الرمز المميز التي تم فك تشفيرها؛ وإلا فإن الوعد مرفوض.

إذا تم تعيين checkRevoked على true، يتحقق أولاً ما إذا كان المستخدم المقابل معطلاً. إذا كانت الإجابة بنعم، فسيتم ظهور خطأ auth/user-disabled . إذا كانت الإجابة لا، يتم التحقق مما إذا تم إبطال الجلسة المقابلة لرمز المعرف. إذا تم إبطال جلسة المستخدم المقابلة، فسيتم ظهور خطأ auth/id-token-revoked . إذا لم يتم تحديده، فلن يتم تطبيق الشيك.

راجع التحقق من رموز الهوية للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية.

إمضاء:

verifyIdToken(idToken: string, checkRevoked?: boolean): Promise<DecodedIdToken>;

حدود

معامل يكتب وصف
idToken خيط رمز الهوية للتحقق.
checkRevoced منطقية ما إذا كان سيتم التحقق مما إذا تم إبطال رمز المعرف. يتطلب هذا طلبًا إضافيًا إلى الواجهة الخلفية لـ Firebase Auth للتحقق من وقت tokensValidAfterTime للمستخدم المقابل. عندما لا يتم تحديده، لا يتم تطبيق هذا الفحص الإضافي.

عائدات:

الوعد< DecodedIdToken >

الوعد الذي تم الوفاء به مع المطالبات التي تم فك تشفيرها للرمز المميز إذا كان رمز المعرف صالحًا؛ وإلا فهو وعد مرفوض.

BaseAuth.verifySessionCookie()

التحقق من ملف تعريف ارتباط جلسة Firebase. إرجاع وعد مع مطالبات ملفات تعريف الارتباط. يرفض الوعد إذا تعذر التحقق من ملف تعريف الارتباط.

إذا تم تعيين checkRevoked على true، يتحقق أولاً مما إذا كان المستخدم المقابل معطلاً: إذا كانت الإجابة بنعم، فسيتم ظهور خطأ auth/user-disabled . إذا كانت الإجابة لا، يتم التحقق من إلغاء الجلسة المقابلة لملف تعريف ارتباط الجلسة. إذا تم إبطال جلسة المستخدم المقابلة، فسيتم ظهور خطأ auth/session-cookie-revoked . إذا لم يتم تحديده، فلن يتم إجراء الفحص.

راجع التحقق من ملفات تعريف الارتباط للجلسة للحصول على نماذج التعليمات البرمجية والوثائق التفصيلية

إمضاء:

verifySessionCookie(sessionCookie: string, checkRevoked?: boolean): Promise<DecodedIdToken>;

حدود

معامل يكتب وصف
sessionCookie خيط ملف تعريف الارتباط للجلسة للتحقق.
checkRevoced منطقية

عائدات:

الوعد< DecodedIdToken >

الوعد الذي تم الوفاء به مع المطالبات التي تم فك تشفيرها لملف تعريف ارتباط الجلسة إذا كان ملف تعريف ارتباط الجلسة صالحًا؛ وإلا فهو وعد مرفوض.