BaseAuth class

واجهة رئيسية مشتركة لكل من واجهتَي برمجة التطبيقات Auth وTenantAwareAuth

Signature:

export declare abstract class BaseAuth 

الطُرق

الطريقة المعدِّلات الوصف
createCustomToken(uid, developerClaims) تُنشئ رمزًا مميزًا جديدًا مخصّصًا لمنصة Firebase (JWT) يمكن إعادة إرساله إلى جهاز عميل لاستخدامه في تسجيل الدخول باستخدام حِزم تطوير البرامج (SDK) للعميل. signInWithCustomToken() طريقة (ستتضمّن المثيلات المتوافقة مع المستأجر أيضًا معرّف المستأجر في الرمز المميّز.)راجِع إنشاء رموز مميّزة مخصَّصة للاطّلاع على عيّنات التعليمات البرمجية والمستندات التفصيلية.
createProviderConfig(config) يعرض وعدًا يتم حله مع AuthProviderConfig الذي تم إنشاؤه حديثًا عند إنشاء إعدادات الموفّر الجديد.يتطلّب دعم موفّري SAML وOIDC استخدام Google Cloud's Identity Platform (GCIP). لمزيد من المعلومات حول برنامج GCIP، بما في ذلك الأسعار والميزات، يمكنك الاطّلاع على وثائق GCIP.
createSessionCookie(idToken, sessionCookieOptions) تُنشئ ملف تعريف ارتباط جديدًا لجلسة Firebase باستخدام الخيارات المحدّدة. يمكن ضبط سلسلة JWT التي تم إنشاؤها كملف تعريف ارتباط جلسة من جهة الخادم باستخدام سياسة مخصّصة لملفات تعريف الارتباط، كما يمكن استخدامها في إدارة الجلسة. سيكون لملف تعريف ارتباط الجلسة JWT نفس مطالبات حمولة البيانات التي يتم تقديمها مثل الرمز المميّز لرقم التعريف.يمكنك الاطّلاع على إدارة ملفات تعريف ارتباط الجلسة للتعرُّف على عيّنات التعليمات البرمجية والمستندات التفصيلية.
createUser(الخصائص) لإنشاء مستخدم جديد.يُرجى الاطّلاع على قسم إنشاء مستخدم للحصول على عيّنات التعليمات البرمجية والمستندات التفصيلية.
deleteProviderConfig(providerId) يؤدي هذا الإجراء إلى حذف إعدادات مقدّم الخدمة المقابلة لرقم تعريف الموفّر الذي تم تمريره. في حال عدم توفّر المعرّف المحدَّد، يظهر خطأ auth/configuration-not-found.يتطلّب دعم موفّرَي SAML وOIDC استخدام Google Cloud Identity Platform (GCIP). لمزيد من المعلومات حول برنامج GCIP، بما في ذلك الأسعار والميزات، يمكنك الاطّلاع على وثائق GCIP.
deleteUser(uid) يؤدي هذا الإجراء إلى حذف مستخدم حالي.يمكنك الانتقال إلى حذف مستخدم للاطّلاع على عيّنات التعليمات البرمجية والمستندات التفصيلية.
deleteUsers(uids) يؤدي هذا الإجراء إلى حذف المستخدمين المحدَّدين من خلال المعرّفات المقدَّمة منهم.لن يؤدي حذف مستخدم غير حالي إلى حدوث خطأ (أي أنّ هذه الطريقة غير مقصودة). يُعَدّ المستخدمون غير الحاليين قد تم حذفهم بنجاح، وبالتالي يتم احتسابهم ضمن قيمة DeleteUsersResult.successCount.يمكن تقديم 1, 000 معرّف فقط كحد أقصى. في حال إدخال أكثر من 1, 000 معرّف، تعرض هذه الطريقة خطأ FirebaseAuthError.يتم حاليًا حصر قيمة واجهة برمجة التطبيقات هذه على الخادم بنحو واحد في الثانية. وفي حال تجاوز هذا الحدّ، قد يظهر لك خطأ "تم تجاوز الحصة". وبالتالي، إذا أردت حذف أكثر من 1,000 مستخدم، عليك إضافة مهلة لضمان عدم تجاوز هذا الحدّ.
generateEmailVerifyLink(email, actionCodeSettings) ينشئ رابط إجراء البريد الإلكتروني خارج النطاق لإثبات ملكية المستخدم للبريد الإلكتروني المحدّد. يحدّد عنصر ActionCodeSettings المقدَّم كوسيطة لهذه الطريقة ما إذا كان سيتم التعامل مع الرابط بواسطة تطبيق أو متصفّح متوافق مع الأجهزة الجوّالة إلى جانب معلومات الحالة الإضافية التي سيتم تمريرها في الرابط لصفحة في التطبيق، وما إلى ذلك.
generatePasswordResetLink(email, actionCodeSettings) إنشاء رابط إجراء البريد الإلكتروني خارج النطاق لإعادة ضبط كلمة مرور مستخدم يتم إنشاء الرابط للمستخدم بعنوان البريد الإلكتروني المحدّد. يحدد العنصر الاختياري ActionCodeSettings ما إذا كان سيتم التعامل مع الرابط بواسطة تطبيق للأجهزة الجوّالة أو متصفح وتمرير معلومات الحالة الإضافية في الرابط لصفحة في التطبيق، وما إلى ذلك.
generateSignInWithEmailLink(email, actionCodeSettings) ينشئ رابط إجراء البريد الإلكتروني خارج النطاق لإثبات ملكية المستخدم للبريد الإلكتروني المحدّد. يحدّد عنصر ActionCodeSettings المقدَّم كوسيطة لهذه الطريقة ما إذا كان سيتم التعامل مع الرابط بواسطة تطبيق أو متصفّح متوافق مع الأجهزة الجوّالة إلى جانب معلومات الحالة الإضافية التي سيتم تمريرها في الرابط لصفحة في التطبيق، وما إلى ذلك.
generateVerifyAndChangeEmailLink(email, newEmail, actionCodeSettings) إنشاء رابط إجراء بريد إلكتروني خارج الإطار من أجل إثبات ملكية المستخدم للبريد الإلكتروني المحدّد. يحدّد عنصر ActionCodeSettings المقدَّم كوسيطة لهذه الطريقة ما إذا كان سيتم التعامل مع الرابط بواسطة تطبيق أو متصفّح متوافق مع الأجهزة الجوّالة إلى جانب معلومات الحالة الإضافية التي سيتم تمريرها في الرابط لصفحة في التطبيق، وما إلى ذلك.
getProviderConfig(providerId) يتم البحث عن إعدادات موفِّر المصادقة باستخدام رقم التعريف المقدَّم. عرض وعد يتم حله من خلال إعدادات الموفّر المقابلة لرقم تعريف الموفّر المحدد في حال عدم توفّر المعرّف المحدَّد، يظهر خطأ auth/configuration-not-found.يتطلّب دعم موفّرَي SAML وOIDC استخدام Google Cloud Identity Platform (GCIP). لمزيد من المعلومات حول برنامج GCIP، بما في ذلك الأسعار والميزات، يمكنك الاطّلاع على وثائق GCIP.
getUser(uid) يحصل على بيانات المستخدم الخاصة بالمستخدم uid المحدَّد.راجِع استرداد بيانات المستخدم للاطّلاع على عيّنات التعليمات البرمجية والمستندات التفصيلية.
getUserByEmail(email) يحصل على بيانات المستخدم للمستخدم المقابلة لرسالة إلكترونية معيّنة.يمكنك الاطّلاع على استرداد بيانات المستخدم لعيّنات التعليمات البرمجية والمستندات التفصيلية.
getUserByPhoneNumber(phoneNumber) يحصل على بيانات المستخدم الخاصة بالمستخدم وفقًا لرقم هاتف معيّن. يجب أن يتوافق رقم الهاتف مع مواصفات E.164.يمكنك الاطّلاع على استرداد بيانات المستخدم للاطّلاع على عيّنات التعليمات البرمجية والمستندات التفصيلية.
getUserByProviderUid(providerId, uid) يحصل على بيانات المستخدم للمستخدم المتوافقة مع رقم تعريف مقدِّم خدمة معيّن.يمكنك الاطّلاع على استرداد بيانات المستخدم للاطّلاع على عيّنات التعليمات البرمجية والمستندات التفصيلية.
getUsers(identifiers) يحصل على بيانات المستخدم المقابلة للمعرّفات المحددة.لا تتوفّر أي ضمانات للطلب. وعلى وجه التحديد، لا يمكن ضمان توافق الإدخال n في قائمة النتائج مع الإدخال n في قائمة معلَمات الإدخال.يمكن تقديم 100 معرّف فقط كحدّ أقصى. وفي حال إدخال أكثر من 100 معرّف، تعرض هذه الطريقة خطأ FirebaseAuthError.
استيراد المستخدمين(المستخدمون، الخيارات) لاستيراد قائمة المستخدمين المُقدّمة إلى مصادقة Firebase. يُسمح باستيراد 1,000 مستخدم كحدّ أقصى واحدًا تلو الآخر. عند استيراد مستخدمين لديهم كلمات مرور، يجب تحديد UserImportOptions. تم تحسين هذه العملية لعمليات الاستيراد المجمَّعة، وستتجاهل عمليات التحقّق على uid وemail والمعرّفات الأخرى الفريدة التي قد تؤدي إلى ظهور نُسخ مكرّرة.
listProviderConfigs(options) عرض قائمة إعدادات موفّر الخدمة الحالية التي تتطابق مع الفلتر الذي تم تقديمه يمكن إدراج 100 إعداد موفّر كحدّ أقصى في آنٍ واحد.يتطلّب دعم موفّري SAML وOIDC استخدام Google Cloud's Identity Platform (GCIP). لمزيد من المعلومات حول برنامج GCIP، بما في ذلك الأسعار والميزات، يمكنك الاطّلاع على وثائق GCIP.
listUsers(maxResults, pageToken) لاسترداد قائمة بالمستخدمين (دفعة واحدة فقط) بحجم maxResults بدءًا من الإزاحة كما هو محدد بواسطة pageToken. تُستخدم هذه البيانات لاسترداد جميع مستخدمي مشروع محدّد على دفعات.يمكنك الاطّلاع على سرد كل المستخدمين لمعرفة عيّنات التعليمات البرمجية والمستندات التفصيلية.
revokeRefreshTokens(uid) تُبطل جميع الرموز المميّزة لإعادة التحميل لمستخدم حالي.ستعمل واجهة برمجة التطبيقات هذه على تعديل UserRecord.tokensValidPostTime للمستخدم إلى التوقيت العالمي المنسَّق (UTC). من المهم أن يتم ضبط الساعة بشكل صحيح ومتزامنة في الخادم الذي يستدعي ذلك.على الرغم من أنّ ذلك سيؤدي إلى إبطال جميع الجلسات لمستخدم محدّد وإيقاف إنشاء أي رموز تعريفية جديدة للجلسات الحالية، قد تظل رموز المعرِّف المميَّزة الحالية نشطة حتى انتهاء صلاحيتها الطبيعية (ساعة واحدة). للتحقّق من إبطال الرموز المميّزة للمعرّف، استخدِم BaseAuth.verifyIdToken() حيث يتم ضبط checkRevoked على "صحيح".
setCustomUserClaims(uid, customUserClaims) تضبط هذه الإعدادات مطالبات إضافية للمطوّرين بشأن مستخدم حالي محدّد من خلال سياسة uid المقدَّمة، وتُستخدَم عادةً لتحديد أدوار المستخدمين ومستويات الوصول. يجب نشر هذه المطالبات على جميع الأجهزة التي سجّل المستخدم الدخول عليها من قبل (بعد انتهاء صلاحية الرمز المميز أو عند فرض إعادة تحميل الرمز المميز) وفي المرة التالية التي يسجّل فيها المستخدم الدخول. إذا تم استخدام اسم مطالبة محجوز OIDC (sub أو iat أو iss أو غير ذلك)، يحدث خطأ. ويتم ضبطها على رمز JWT المميز لمعرّف المستخدم الذي تمت المصادقة عليه.يمكنك الاطّلاع على تحديد أدوار المستخدم ومستويات الوصول لعيّنات التعليمات البرمجية والمستندات التفصيلية.
updateProviderConfig(providerId, updatedConfig) عرض وعد يتم حله مع AuthProviderConfig المعدّلة والمُطابق لرقم تعريف مقدِّم الخدمة المحدّد. في حال عدم توفّر المعرّف المحدَّد، يظهر خطأ auth/configuration-not-found.يتطلّب دعم موفّرَي SAML وOIDC استخدام Google Cloud Identity Platform (GCIP). لمزيد من المعلومات حول برنامج GCIP، بما في ذلك الأسعار والميزات، يمكنك الاطّلاع على وثائق GCIP.
updateUser(uid, properties) لتعديل مستخدم حالي.يُرجى الاطّلاع على تعديل مستخدم للاطّلاع على عيّنات التعليمات البرمجية والمستندات التفصيلية.
verifyIdToken(idToken, checkDisabled) يتحقق من رمز مميز لرقم تعريف Firebase (JWT). إذا كان الرمز المميّز صالحًا، يتم الوفاء بالوعد من خلال المطالبات التي تم فك ترميزها الخاصة بالرمز المميّز وبخلاف ذلك، يتم رفض الوعد.في حال ضبط السياسة checkRevoked على "صحيح"، يتحقق أولاً مما إذا كان المستخدم ذي الصلة غير مفعَّل. إذا كانت الإجابة "نعم"، سيتم عرض خطأ auth/user-disabled. إذا كانت الإجابة "لا"، يتم التحقّق مما إذا تم إبطال الجلسة المقابلة للرمز المميّز للمعرّف. وفي حال إلغاء صلاحية جلسة المستخدم المقابلة، يتم عرض خطأ auth/id-token-revoked. في حال عدم تحديد هذه القيم، لن يتم تطبيق التحقّق.يمكنك الاطّلاع على التحقق من الرموز المميّزة للمعرّفات للاطّلاع على نماذج الرموز والمستندات المفصّلة.
verifySessionCookie(sessionCookie, checkDisabled) التحقّق من ملف تعريف ارتباط جلسة Firebase يعرض تعهدًا بالمطالبات بملكية ملفات تعريف الارتباط. يرفض الوعد في حال تعذّر التحقق من ملف تعريف الارتباط.إذا تم ضبط checkRevoked على "صحيح"، يتحقق أولاً مما إذا كان المستخدم المعني متوقفًا: أما إذا كانت الإجابة "نعم"، فسيتم عرض الخطأ auth/user-disabled. إذا كانت الإجابة "لا"، يتم التحقّق مما إذا تم إبطال الجلسة المقابلة لملف تعريف الارتباط للجلسة. وفي حال إلغاء صلاحية جلسة المستخدم المقابلة، يتم عرض خطأ auth/session-cookie-revoked. إذا لم يتم تحديد، لن يتم إجراء عملية الفحص.يمكنك الاطّلاع على التحقق من ملفات تعريف ارتباط الجلسة للتعرُّف على عيّنات التعليمات البرمجية والمستندات التفصيلية.

BaseAuth.createCustomToken()

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

راجِع إنشاء الرموز المميّزة المخصّصة للاطّلاع على نماذج الرموز والمستندات التفصيلية.

Signature:

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

المَعلمات

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

المرتجعات:

وعود<string>

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

BaseAuth.createProviderConfig()

تعرض وعدًا يتم حله مع AuthProviderConfig التي تم إنشاؤها حديثًا عند إنشاء إعدادات مقدّم الخدمة الجديدة.

يتطلب دعم موفّري SAML وOIDC استخدام نظام Google Cloud Identity Platform (GCIP). لمزيد من المعلومات حول برنامج GCIP، بما في ذلك الأسعار والميزات، يمكنك الاطّلاع على وثائق GCIP.

Signature:

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

المَعلمات

المعلمة النوع الوصف
config AuthProviderConfig إعداد موفّر الخدمة المطلوب الإنشاء.

المرتجعات:

وعد <AuthProviderConfig>

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

BaseAuth.createSessionCookie()

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

يُرجى الاطّلاع على إدارة ملفات تعريف الارتباط للجلسة للحصول على عيّنات التعليمات البرمجية والمستندات التفصيلية.

Signature:

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

المَعلمات

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

المرتجعات:

وعود<string>

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

BaseAuth.createUser()

ينشئ مستخدمًا جديدًا.

راجِع قسم إنشاء مستخدم للاطّلاع على عيّنات التعليمات البرمجية والمستندات التفصيلية.

Signature:

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

المَعلمات

المعلمة النوع الوصف
المواقع إنشاء طلب السمات التي سيتم إعدادها في سجلّ المستخدم الجديد التي سيتم إنشاؤها

المرتجعات:

الوعد<UserRecord>

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

BaseAuth.deleteProviderConfig()

يؤدي هذا الإجراء إلى حذف إعدادات مقدّم الخدمة المقابلة لرقم تعريف الموفّر الذي تم تمريره. في حال عدم توفّر المعرّف المحدّد، يتم عرض خطأ auth/configuration-not-found.

يتطلب دعم موفّري SAML وOIDC استخدام نظام Google Cloud Identity Platform (GCIP). لمزيد من المعلومات حول برنامج GCIP، بما في ذلك الأسعار والميزات، يمكنك الاطّلاع على وثائق GCIP.

Signature:

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

المَعلمات

المعلمة النوع الوصف
رقم تعريف موفّر الخدمة السلسلة رقم تعريف مقدّم الخدمة المتوافق مع إعدادات مقدّم الخدمة المطلوب حذفه

المرتجعات:

وعود <باطلة>

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

BaseAuth.deleteUser()

حذف مستخدم حالي.

راجِع حذف مستخدم للاطّلاع على عيّنات التعليمات البرمجية والمستندات التفصيلية.

Signature:

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

المَعلمات

المعلمة النوع الوصف
uid السلسلة تمثّل هذه السمة uid المستخدم المطلوب حذفه.

المرتجعات:

وعود <باطلة>

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

BaseAuth.deleteUsers()

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

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

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

يعتمد معدّل استخدام واجهة برمجة التطبيقات هذه حاليًا على الخادم ليصبح 1 طلب في الثانية. وفي حال تجاوز هذا الحدّ، قد يظهر لك خطأ "تم تجاوز الحصة". وبالتالي، إذا أردت حذف أكثر من 1,000 مستخدم، عليك إضافة مهلة لضمان عدم تجاوز هذا الحدّ.

Signature:

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

المَعلمات

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

المرتجعات:

وعد <DeleteUsersResult>

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

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

Signature:

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

المَعلمات

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

المرتجعات:

وعود<string>

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

مثال

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 ما إذا كان سيتم التعامل مع الرابط بواسطة تطبيق للأجهزة الجوّالة أو متصفح وتمرير معلومات الحالة الإضافية في الرابط لصفحة في التطبيق، وما إلى ذلك.

Signature:

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

المَعلمات

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

المرتجعات:

وعود<string>

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

مثال

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 المقدَّم كوسيطة لهذه الطريقة ما إذا كان سيتم التعامل مع الرابط بواسطة تطبيق أو متصفّح متوافق مع الأجهزة الجوّالة إلى جانب معلومات الحالة الإضافية التي سيتم تمريرها في الرابط لصفحة في التطبيق، وما إلى ذلك.

Signature:

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

المَعلمات

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

المرتجعات:

وعود<string>

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

مثال

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 المقدَّم كوسيطة لهذه الطريقة ما إذا كان سيتم التعامل مع الرابط بواسطة تطبيق أو متصفّح متوافق مع الأجهزة الجوّالة إلى جانب معلومات الحالة الإضافية التي سيتم تمريرها في الرابط لصفحة في التطبيق، وما إلى ذلك.

Signature:

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

المَعلمات

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

المرتجعات:

وعود<string>

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

BaseAuth.getProviderConfig()

يتم البحث عن إعدادات موفِّر المصادقة باستخدام رقم التعريف المقدَّم. عرض وعد يتم حله من خلال إعدادات الموفّر المقابلة لرقم تعريف الموفّر المحدد في حال عدم توفّر المعرّف المحدّد، يتم عرض خطأ auth/configuration-not-found.

يتطلب دعم موفّري SAML وOIDC استخدام نظام Google Cloud Identity Platform (GCIP). لمزيد من المعلومات حول برنامج GCIP، بما في ذلك الأسعار والميزات، يمكنك الاطّلاع على وثائق GCIP.

Signature:

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

المَعلمات

المعلمة النوع الوصف
رقم تعريف موفّر الخدمة السلسلة رقم تعريف موفّر الخدمة المقابل لإعداد الموفّر المطلوب عرضه.

المرتجعات:

وعد <AuthProviderConfig>

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

BaseAuth.getUser()

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

راجِع استرداد بيانات المستخدم للاطّلاع على عيّنات التعليمات البرمجية والمستندات التفصيلية.

Signature:

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

المَعلمات

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

المرتجعات:

الوعد<UserRecord>

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

BaseAuth.getUserByEmail()

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

راجِع استرداد بيانات المستخدم للاطّلاع على عيّنات التعليمات البرمجية والمستندات التفصيلية.

Signature:

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

المَعلمات

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

المرتجعات:

الوعد<UserRecord>

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

BaseAuth.getUserByPhoneNumber()

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

راجِع استرداد بيانات المستخدم للاطّلاع على عيّنات التعليمات البرمجية والمستندات التفصيلية.

Signature:

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

المَعلمات

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

المرتجعات:

الوعد<UserRecord>

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

BaseAuth.getUserByProviderUid()

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

راجِع استرداد بيانات المستخدم للاطّلاع على عيّنات التعليمات البرمجية والمستندات التفصيلية.

Signature:

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

المَعلمات

المعلمة النوع الوصف
رقم تعريف موفّر الخدمة السلسلة رقم تعريف مقدّم الخدمة، مثل "google.com" لمقدم خدمة Google.
uid السلسلة معرّف المستخدم لمقدّم الخدمة المحدّد

المرتجعات:

الوعد<UserRecord>

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

BaseAuth.getUsers()

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

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

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

Signature:

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

المَعلمات

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

المرتجعات:

وعد <GetUsersResult>

وعد تتم إزالته لسجلات المستخدم المقابلة

الاستثناءات

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

BaseAuth.ImportUsers()

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

Signature:

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

المَعلمات

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

المرتجعات:

الوعد<UserImportResult>

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

BaseAuth.listProviderConfigs()

عرض قائمة إعدادات موفّر الخدمة الحالية التي تتطابق مع الفلتر الذي تم تقديمه ويمكن إدراج 100 إعداد موفِّر في آنٍ واحد كحدّ أقصى.

يتطلب دعم موفّري SAML وOIDC استخدام نظام Google Cloud Identity Platform (GCIP). لمزيد من المعلومات حول برنامج GCIP، بما في ذلك الأسعار والميزات، يمكنك الاطّلاع على وثائق GCIP.

Signature:

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

المَعلمات

المعلمة النوع الوصف
خيارات AuthProviderConfigFilter فلتر إعدادات موفّر الخدمة المطلوب تطبيقه

المرتجعات:

وعود<ListProviderConfigResults>

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

BaseAuth.listUsers()

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

راجِع إدراج جميع المستخدمين للاطّلاع على عيّنات التعليمات البرمجية والمستندات التفصيلية.

Signature:

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

المَعلمات

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

المرتجعات:

وعود <ListUsersResult>

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

BaseAuth.revokeRefreshTokens()

إبطال جميع الرموز المميّزة لإعادة التحميل لمستخدم حالي.

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

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

Signature:

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

المَعلمات

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

المرتجعات:

وعود <باطلة>

تم تنفيذ وعد فارغ بعد إبطال الرموز المميزة لإعادة التحميل للمستخدم.

BaseAuth.setCustomUserClaims()

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

راجِع تحديد أدوار المستخدمين ومستويات الوصول للاطّلاع على عيّنات التعليمات البرمجية والمستندات التفصيلية.

Signature:

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

المَعلمات

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

المرتجعات:

وعود <باطلة>

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

BaseAuth.updateProviderConfig()

عرض وعد يتم حله مع AuthProviderConfig المعدّلة والمُطابق لرقم تعريف مقدِّم الخدمة المحدّد. في حال عدم توفّر المعرّف المحدّد، يتم عرض خطأ auth/configuration-not-found.

يتطلب دعم موفّري SAML وOIDC استخدام نظام Google Cloud Identity Platform (GCIP). لمزيد من المعلومات حول برنامج GCIP، بما في ذلك الأسعار والميزات، يمكنك الاطّلاع على وثائق GCIP.

Signature:

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

المَعلمات

المعلمة النوع الوصف
رقم تعريف موفّر الخدمة السلسلة رقم تعريف مقدّم الخدمة المتوافق مع إعدادات الموفّر المطلوب تعديله
تم تحديث الإعداد UpdateAuthProviderRequest الإعدادات المعدَّلة

المرتجعات:

وعد <AuthProviderConfig>

وعد يتم حله من خلال الإعدادات المُعدَّلة لمقدِّم الخدمة.

BaseAuth.updateUser()

تُستخدَم لتعديل مستخدم حالي.

راجِع مقالة تعديل بيانات مستخدم للاطّلاع على عيّنات التعليمات البرمجية والمستندات التفصيلية.

Signature:

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

المَعلمات

المعلمة النوع الوصف
uid السلسلة تمثّل هذه السمة uid المقابلة للمستخدم المطلوب تعديلها.
المواقع طلب التحديث السمات المطلوب تعديلها للمستخدم المقدَّم.

المرتجعات:

الوعد<UserRecord>

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

BaseAuth.verifyIdToken()

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

إذا تم ضبط السياسة checkRevoked على "صحيح"، يتحقق أولاً مما إذا كان المستخدم المعني متوقفًا. إذا كانت الإجابة "نعم"، سيتم عرض خطأ auth/user-disabled. إذا كانت الإجابة "لا"، يتم التحقّق مما إذا تم إبطال الجلسة المقابلة للرمز المميّز للمعرّف. وفي حال إلغاء صلاحية جلسة المستخدم المقابلة، يتم عرض خطأ auth/id-token-revoked. في حال عدم تحديد قيمة، لن يتم تطبيق التحقّق.

ويمكنك مراجعة التحقق من الرموز المميّزة للمعرّفات للاطّلاع على عيّنات التعليمات البرمجية والمستندات التفصيلية.

Signature:

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

المَعلمات

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

المرتجعات:

Promise<DecodedIdToken>

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

BaseAuth.verifySessionCookie()

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

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

راجِع التحقّق من ملفات تعريف ارتباط الجلسة للاطّلاع على عيّنات التعليمات البرمجية والمستندات التفصيلية.

Signature:

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

المَعلمات

المعلمة النوع الوصف
ملف تعريف الارتباط للجلسة السلسلة ملف تعريف الارتباط للجلسة المطلوب التحقّق منه.
تم إبطال علامة الاختيار قيمة منطقية

المرتجعات:

Promise<DecodedIdToken>

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