واجهة برمجة تطبيقات REST Auth من Firebase

استخدام واجهة برمجة التطبيقات

يمكنك طلب الواجهة الخلفية لمصادقة Firebase من خلال واجهة برمجة تطبيقات REST. ويمكن استخدامه في عمليات مختلفة مثل مثل إنشاء مستخدمين جدد، وتسجيل الدخول المستخدمين الحاليين وتعديل هؤلاء المستخدمين أو حذفهم.

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

استبدال الرمز المميّز المخصص لمعرّف العميل والرمز المميّز لإعادة التحميل

يمكنك استبدال رمز مصادقة مخصص برقم تعريف وإعادة تحميل الرمز المميز من خلال إصدار HTTP هناك طلب POST إلى نقطة نهاية المصادقة verifyCustomToken.

الطريقة: POST

Content-Type: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
حمولة نص الرسالة
اسم الموقع النوع الوصف
رمز مميز السلسلة رمز مميز مخصص لمصادقة Firebase يمكن من خلاله إنشاء زوج من الرموز المميزة وإعادة تحميل البيانات.
رمز الإرجاع الآمن قيمة منطقية ما إذا كان سيتم عرض معرّف ورمز مميز لإعادة التحميل أم لا. يجب أن يكون صحيحًا دائمًا.
حمولة الاستجابة
اسم الموقع النوع الوصف
الرمز المميّز السلسلة يشير هذا المصطلح إلى رمز مميَّز لمعرّف مصادقة Firebase تم إنشاؤه من الرمز المميّز المخصّص الذي تم تقديمه.
الرمز المميّز لإعادة التحميل السلسلة رمز مميّز لإعادة تحميل مصادقة Firebase تم إنشاؤه من الرمز المميّز المخصّص الذي تم تقديمه
تاريخ انتهاء الصلاحية السلسلة عدد الثواني التي تنتهي فيها صلاحية الرمز المميّز للمعرّف.

نموذج طلب

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"token":"[CUSTOM_TOKEN]","returnSecureToken":true}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة. يحتوي الردّ على الرمز المميّز لرقم تعريف Firebase والرمز المميّز لإعادة التحميل المرتبط. بالرمز المميز المخصص.

نموذج ردّ

{
  "idToken": "[ID_TOKEN]",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600"
}

رموز الأخطاء الشائعة

  • nofollow_CUSTOM_TOKEN: تنسيق الرمز المميّز المخصّص غير صحيح أو الرمز المميّز غير صالح لسبب ما (مثلاً، منتهي الصلاحية أو توقيع غير صالح أو غير ذلك)
  • CREDENTIAL_MISMATCH: يتوافق الرمز المميّز المخصَّص مع مشروع مختلف في Firebase.

استبدال رمز مميّز لإعادة التحميل برمز مميّز للمعرّف

يمكنك إعادة تحميل رمز مميز لمعرّف Firebase من خلال إصدار بروتوكول HTTP طلب "POST" إلى نقطة النهاية securetoken.googleapis.com.

الطريقة: POST

Content-Type: application/x-www-form-urlized

نقطة النهاية
https://securetoken.googleapis.com/v1/token?key=[API_KEY]
حمولة نص الرسالة
اسم الموقع النوع الوصف
grant_type السلسلة نوع منح الرمز المميز لإعادة التحميل هو دائمًا "refresh_token".
رمز_إعادة التحميل السلسلة رمز مميز لإعادة تحميل مصادقة Firebase.
حمولة الاستجابة
اسم الموقع النوع الوصف
expires_in السلسلة عدد الثواني التي تنتهي فيها صلاحية الرمز المميّز للمعرّف.
token_type السلسلة نوع الرمز المميّز لإعادة التحميل، يكون دائمًا "الحامل".
رمز_إعادة التحميل السلسلة الرمز المميّز لتحديث مصادقة Firebase الذي تم تقديمه في الطلب أو رمز مميز جديد لإعادة التحميل.
المعرّف_الرمزي السلسلة رمز مميز لمعرّف مصادقة Firebase.
user_id السلسلة المعرّف الفريد (Uid) المقابل للرمز المميّز للمعرّف الذي تم تقديمه.
معرّف_المشروع السلسلة رقم تعريف مشروع Firebase.

نموذج طلب

curl 'https://securetoken.googleapis.com/v1/token?key=[API_KEY]' \
-H 'Content-Type: application/x-www-form-urlencoded' \
--data 'grant_type=refresh_token&refresh_token=[REFRESH_TOKEN]'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة. يحتوي الردّ على الرمز المميّز الجديد لرقم تعريف Firebase والرمز المميّز لإعادة التحميل.

نموذج ردّ

{
  "expires_in": "3600",
  "token_type": "Bearer",
  "refresh_token": "[REFRESH_TOKEN]",
  "id_token": "[ID_TOKEN]",
  "user_id": "tRcfmLH7o2XrNELi...",
  "project_id": "1234567890"
}

رموز الأخطاء الشائعة

  • TOKEN_EXPIRED: لم تعد بيانات اعتماد المستخدم صالحة. على المستخدم تسجيل الدخول مرة أخرى.
  • USER_DISABLED: أوقف المشرف حساب المستخدم.
  • USER_NOT_FOUND: لم يتم العثور على المستخدم المقابل للرمز المميز للتحديث. من المحتمل أنه تم حذف المستخدم.
  • مفتاح واجهة برمجة التطبيقات غير صالح. يُرجى ضبط مفتاح صالح لواجهة برمجة التطبيقات. (تم تقديم مفتاح غير صالح لواجهة برمجة التطبيقات)
  • Connected_REFRESH_TOKEN: تمّ تقديم رمز مميّز غير صالح للتحديث.
  • تم تلقّي حمولة JSON غير صالحة. اسم غير معروف \"refresh_tokens\": لا يمكن ربط طلب البحث . الحقل "refresh_tokens" تعذر العثور على رسالة الطلب.
  • nofollow_GRANT_TYPE: نوع المنح المحدد غير صالح.
  • MISSING_REFRESH_TOKEN: لم يتم تقديم رمز مميز للتحديث.
  • PROJECT_NUMBER_MISMATCH: لا يتطابق رقم المشروع الخاص بالرمز المميز للتحديث مع رقم مشروع مفتاح واجهة برمجة التطبيقات الذي تم تقديمه.

الاشتراك باستخدام البريد الإلكتروني / كلمة المرور

ويمكنك إنشاء مستخدم جديد للبريد الإلكتروني وكلمة المرور من خلال إصدار بروتوكول HTTP هناك طلب POST إلى نقطة نهاية المصادقة signupNewUser.

الطريقة: POST

Content-Type: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
حمولة نص الرسالة
اسم الموقع النوع الوصف
البريد الإلكتروني السلسلة تمثّل هذه السمة عنوان البريد الإلكتروني الذي يمكن للمستخدم إنشاءه.
كلمة مرور السلسلة كلمة المرور التي يمكن للمستخدم إنشاؤها.
رمز الإرجاع الآمن قيمة منطقية ما إذا كان سيتم عرض معرّف ورمز مميز لإعادة التحميل أم لا. يجب أن يكون صحيحًا دائمًا.
حمولة الاستجابة
اسم الموقع النوع الوصف
الرمز المميّز السلسلة رمز مميَّز لمعرّف مصادقة Firebase للمستخدم الذي تم إنشاؤه حديثًا.
البريد الإلكتروني السلسلة عنوان البريد الإلكتروني للمستخدِم الذي تم إنشاؤه حديثًا.
الرمز المميّز لإعادة التحميل السلسلة رمز مميز لإعادة تحميل مصادقة Firebase للمستخدم الذي تم إنشاؤه حديثًا.
تاريخ انتهاء الصلاحية السلسلة عدد الثواني التي تنتهي فيها صلاحية الرمز المميّز للمعرّف.
المعرّف المحلي السلسلة المعرّف الفريد للمستخدم الذي تم إنشاؤه حديثًا.

نموذج طلب

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة. يحتوي الردّ على الرمز المميّز لرقم تعريف Firebase والرمز المميّز لإعادة التحميل المرتبط. بالحساب الجديد.

نموذج ردّ

{
  "idToken": "[ID_TOKEN]",
  "email": "[user@example.com]",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "localId": "tRcfmLH7..."
}

رموز الأخطاء الشائعة

  • EMAIL_EXISTS: عنوان البريد الإلكتروني قيد الاستخدام بواسطة حساب آخر.
  • OPERATION_NOT_ALLOWED: تم إيقاف تسجيل الدخول باستخدام كلمة المرور لهذا المشروع.
  • TOO_MANY_ATTEMPTS_TRY_LATER: لقد حظرنا كل الطلبات الواردة من هذا الجهاز بسبب أعمال غير معتادة الأخرى. يُرجى إعادة المحاولة لاحقًا.

تسجيل الدخول باستخدام عنوان البريد الإلكتروني أو كلمة المرور

يمكنك تسجيل دخول مستخدم باستخدام بريد إلكتروني وكلمة مرور عن طريق إصدار HTTP هناك طلب POST إلى نقطة نهاية المصادقة verifyPassword.

الطريقة: POST

Content-Type: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
حمولة نص الرسالة
اسم الموقع النوع الوصف
البريد الإلكتروني السلسلة عنوان البريد الإلكتروني الذي يستخدمه المستخدم لتسجيل الدخول
كلمة مرور السلسلة كلمة المرور للحساب.
رمز الإرجاع الآمن قيمة منطقية ما إذا كان سيتم عرض معرّف ورمز مميز لإعادة التحميل أم لا. يجب أن يكون صحيحًا دائمًا.
حمولة الاستجابة
اسم الموقع النوع الوصف
الرمز المميّز السلسلة رمز مميَّز لمعرّف مصادقة Firebase للمستخدم الذي تمت مصادقته.
البريد الإلكتروني السلسلة البريد الإلكتروني للمستخدم الذي تمت مصادقته.
الرمز المميّز لإعادة التحميل السلسلة رمز مميز لإعادة تحميل مصادقة Firebase للمستخدم الذي تمت مصادقته.
تاريخ انتهاء الصلاحية السلسلة عدد الثواني التي تنتهي فيها صلاحية الرمز المميّز للمعرّف.
المعرّف المحلي السلسلة المعرّف الفريد للمستخدم الذي تمت مصادقته.
المسجلة قيمة منطقية ما إذا كان البريد الإلكتروني لحساب حالي أم لا.

نموذج طلب

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة. يحتوي الردّ على الرمز المميّز لرقم تعريف Firebase والرمز المميّز لإعادة التحميل المرتبط. باستخدام حساب البريد الإلكتروني/كلمة المرور الحالي.

نموذج ردّ

{
  "localId": "ZY1rJK0eYLg...",
  "email": "[user@example.com]",
  "displayName": "",
  "idToken": "[ID_TOKEN]",
  "registered": true,
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600"
}

رموز الأخطاء الشائعة

  • EMAIL_NOT_FOUND: ليس هناك سجل مستخدم يتوافق مع هذا المعرّف. يجوز للمستخدم تم حذف.
  • ASCII_password: كلمة المرور غير صالحة أو ليس لدى المستخدم كلمة مرور.
  • USER_DISABLED: أوقف المشرف حساب المستخدم.

تسجيل الدخول بهوية مخفية

يمكنك تسجيل دخول مستخدم كمجهول عن طريق إصدار HTTP هناك طلب POST إلى نقطة نهاية المصادقة signupNewUser.

الطريقة: POST

Content-Type: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
حمولة نص الرسالة
اسم الموقع النوع الوصف
رمز الإرجاع الآمن قيمة منطقية ما إذا كان سيتم عرض معرّف ورمز مميز لإعادة التحميل أم لا. يجب أن يكون صحيحًا دائمًا.
حمولة الاستجابة
اسم الموقع النوع الوصف
الرمز المميّز السلسلة رمز مميَّز لمعرّف مصادقة Firebase للمستخدم الذي تم إنشاؤه حديثًا.
البريد الإلكتروني السلسلة يجب أن يكون هذا الحقل فارغًا نظرًا لأن المستخدم مجهول الهوية.
الرمز المميّز لإعادة التحميل السلسلة رمز مميز لإعادة تحميل مصادقة Firebase للمستخدم الذي تم إنشاؤه حديثًا.
تاريخ انتهاء الصلاحية السلسلة عدد الثواني التي تنتهي فيها صلاحية الرمز المميّز للمعرّف.
المعرّف المحلي السلسلة المعرّف الفريد للمستخدم الذي تم إنشاؤه حديثًا.

نموذج طلب

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"returnSecureToken":true}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة. يحتوي الردّ على الرمز المميّز لرقم تعريف Firebase والرمز المميّز لإعادة التحميل المرتبط. مع المستخدم المجهول.

نموذج ردّ

{
  "idToken": "[ID_TOKEN]",
  "email": "",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "localId": "Jws4SVjpT..."
}

رموز الأخطاء الشائعة

  • OPERATION_NOT_Allowed: تم إيقاف تسجيل دخول مستخدم مجهول لهذا المشروع.

تسجيل الدخول باستخدام بيانات اعتماد OAuth

يمكنك تسجيل دخول مستخدم باستخدام بيانات اعتماد OAuth من خلال إصدار HTTP هناك طلب POST إلى نقطة نهاية المصادقة verifyAssertion.

الطريقة: POST

Content-Type: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
حمولة نص الرسالة
اسم الموقع النوع الوصف
طلب معرفو السلسلة معرِّف الموارد المنتظم (URI) الذي يعيد موفِّر الهوية (idP) توجيه المستخدم إليه.
PostBody السلسلة يحتوي على بيانات اعتماد OAuth (رمز مميّز لرقم التعريف أو رمز دخول) ورقم تعريف موفّر للمشاكل. بيانات الاعتماد.
رمز الإرجاع الآمن قيمة منطقية ما إذا كان سيتم عرض معرّف ورمز مميز لإعادة التحميل أم لا. يجب أن يكون صحيحًا دائمًا.
بيانات اعتماد الإرجاع قيمة منطقية تحديد ما إذا كان سيتم فرض عرض بيانات اعتماد OAuth في الأخطاء التالية: FEDERATED_USER_ID_ALREADY_LINKED وEMAIL_EXISTS.
حمولة الاستجابة
اسم الموقع النوع الوصف
المعرّف الموحّد السلسلة يحدِّد المعرّف الفريد حساب موفِّر الهوية (idP).
رقم تعريف موفّر الخدمة السلسلة رقم تعريف الموفّر المرتبط (مثل "google.com" لمقدّم خدمة Google)
المعرّف المحلي السلسلة المعرّف الفريد للمستخدم الذي تمت مصادقته.
تم التحقق من عنوان البريد الإلكتروني قيمة منطقية ما إذا كان قد تم إثبات ملكية عنوان البريد الإلكتروني لتسجيل الدخول.
البريد الإلكتروني السلسلة عنوان البريد الإلكتروني الخاص بالحساب.
رمز oauthIdToken السلسلة هو الرمز المميّز لمعرّف OIDC إذا كان متاحًا.
رمز oauthAccessToken السلسلة رمز الدخول عبر OAuth إن كان متاحًا.
oauthTokenSecret السلسلة الرمز السري لـ OAuth 1.0 إذا كان متاحًا.
معلومات المستخدِم RAW السلسلة استجابة JSON التي تم تحويلها إلى سلسلة نصية تتضمّن جميع بيانات موفِّر الهوية (idP) المقابلة للقيمة المقدَّمة بيانات اعتماد OAuth.
الاسم الأول السلسلة الاسم الأول للحساب.
اسم العائلة السلسلة اسم العائلة للحساب.
الاسم الكامل السلسلة الاسم الكامل للحساب.
displayName السلسلة الاسم المعروض للحساب.
عنوان URL للصورة السلسلة عنوان URL للصورة للحساب.
الرمز المميّز السلسلة رمز مميَّز لمعرّف مصادقة Firebase للمستخدم الذي تمت مصادقته.
الرمز المميّز لإعادة التحميل السلسلة رمز مميز لإعادة تحميل مصادقة Firebase للمستخدم الذي تمت مصادقته.
تاريخ انتهاء الصلاحية السلسلة عدد الثواني التي تنتهي فيها صلاحية الرمز المميّز للمعرّف.
بحاجة إلى تأكيد قيمة منطقية تحدِّد هذه السياسة ما إذا كان هناك حساب آخر يتضمّن بيانات الاعتماد نفسها. سيحتاج المستخدم لتسجيل الدخول إلى الحساب الأصلي ثم ربط بيانات الاعتماد الحالية به.

نموذج طلب باستخدام الرمز المميّز لرقم تعريف OAuth

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة. يحتوي الردّ على الرمز المميّز لرقم تعريف Firebase والرمز المميّز لإعادة التحميل المرتبط. مع المستخدم الذي تمت مصادقته.

نموذج استجابة يتضمّن الرمز المميّز لرقم تعريف OAuth

{
  "federatedId": "https://accounts.google.com/1234567890",
  "providerId": "google.com",
  "localId": "5xwsPCWYo...",
  "emailVerified": true,
  "email": "user@example.com",
  "oauthIdToken": "[GOOGLE_ID_TOKEN]",
  "firstName": "John",
  "lastName": "Doe",
  "fullName": "John Doe",
  "displayName": "John Doe",
  "idToken": "[ID_TOKEN]",
  "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}"
}

نموذج طلب باستخدام رمز الدخول OAuth

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"access_token=[FACEBOOK_ACCESS_TOKEN]&providerId=[facebook.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة. يحتوي الردّ على الرمز المميّز لرقم تعريف Firebase والرمز المميّز لإعادة التحميل المرتبط. مع المستخدم الذي تمت مصادقته.

نموذج استجابة باستخدام رمز الدخول المميز عبر OAuth

{
  "federatedId": "http://facebook.com/1234567890",
  "providerId": "facebook.com",
  "localId": "5xwsPCWYo...",
  "emailVerified": true,
  "email": "user@example.com",
  "oauthAccessToken": "[FACEBOOK_ACCESS_TOKEN]",
  "firstName": "John",
  "lastName": "Doe",
  "fullName": "John Doe",
  "displayName": "John Doe",
  "idToken": "[ID_TOKEN]",
  "photoUrl": "https://scontent.xx.fbcdn.net/v/...",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}"
}

نموذج طلب باستخدام بيانات اعتماد Twitter OAuth 1.0

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة. يحتوي الردّ على الرمز المميّز لرقم تعريف Firebase والرمز المميّز لإعادة التحميل المرتبط. مع المستخدم الذي تمت مصادقته.

نموذج استجابة باستخدام بيانات اعتماد Twitter OAuth 1.0

{
  "federatedId": "http://twitter.com/1234567890",
  "providerId": "twitter.com",
  "localId": "5xwsPCWYo...",
  "emailVerified": true,
  "email": "user@example.com",
  "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]",
  "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]",
  "firstName": "John",
  "lastName": "Doe",
  "fullName": "John Doe",
  "displayName": "John Doe",
  "idToken": "[ID_TOKEN]",
  "photoUrl": "http://abs.twimg.com/sticky/...",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}"
}

رموز الأخطاء الشائعة

  • OPERATION_NOT_ALLOWED: تم إيقاف مقدم الخدمة المناظر لهذا المشروع.
  • ضياء_IdP_RESPONSE: بيانات اعتماد المصادقة المقدمة غير صحيحة أو انتهت صلاحيتها.

جلب مزوِّدي الخدمة للبريد الإلكتروني

يمكنك البحث عن جميع مزودي الخدمة المرتبطين بعنوان بريد إلكتروني محدد من خلال إصدار HTTP هناك طلب POST إلى نقطة نهاية المصادقة createAuthUri.

الطريقة: POST

Content-Type: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
حمولة نص الرسالة
اسم الموقع النوع الوصف
معرّف السلسلة عنوان البريد الإلكتروني للمستخدم
متابعة السلسلة معرِّف الموارد المنتظم (URI) الذي يعيد موفِّر الهوية (idP) توجيه المستخدم إليه. بالنسبة لحالة الاستخدام هذه، فهذه هي عنوان URL الحالي.
حمولة الاستجابة
اسم الموقع النوع الوصف
جميع الموفرين قائمة السلاسل قائمة بمقدّمي الخدمات الذين سجَّل المستخدم الدخول من خلالهم سابقًا.
المسجلة قيمة منطقية ما إذا كان البريد الإلكتروني يخص حسابًا حاليًا

نموذج طلب

curl 'https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"identifier":"[user@example.com]","continueUri":"[http://localhost:8080/app]"}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة. يتضمّن الردّ قائمة بمزوّدي الخدمة المرتبطين بالرسالة الإلكترونية.

نموذج ردّ

{
  "allProviders": [
    "password",
    "google.com"
  ],
  "registered": true
}

رموز الأخطاء الشائعة

  • Connected_EMAIL: تم تنسيق عنوان البريد الإلكتروني بشكل سيئ.

إرسال رسالة إلكترونية لإعادة ضبط كلمة المرور

يمكنك إرسال رسالة إلكترونية لإعادة تعيين كلمة المرور من خلال إصدار HTTP هناك طلب POST إلى نقطة نهاية المصادقة getOobConfirmationCode.

الطريقة: POST

Content-Type: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
العناوين الاختيارية
اسم الموقع الوصف
لغة X-Firebase تمثّل هذه السمة رمز اللغة المتوافق مع لغة المستخدم. سيؤدي تمرير هذا إلى ترجمة الرسالة الإلكترونية المرسلة إلى المستخدم لإعادة تعيين كلمة المرور.
طلب حمولة الجسم
اسم الموقع النوع الوصف
requestType السلسلة نوع رمز OOB المطلوب عرضه. يجب أن تكون القيمة "password_RESET" لإعادة تعيين كلمة المرور.
البريد الإلكتروني السلسلة عنوان البريد الإلكتروني للمستخدم
حمولة الاستجابة
اسم الموقع النوع الوصف
البريد الإلكتروني السلسلة عنوان البريد الإلكتروني للمستخدم

نموذج طلب

curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"requestType":"PASSWORD_RESET","email":"[user@example.com]"}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة.

نموذج ردّ

{
 "email": "[user@example.com]"
}

رموز الأخطاء الشائعة

  • EMAIL_NOT_FOUND: ليس هناك سجل مستخدم يتوافق مع هذا المعرّف. يجوز للمستخدم تم حذف.

تأكيد رمز إعادة ضبط كلمة المرور

يمكنك التحقق من رمز إعادة ضبط كلمة المرور من خلال إصدار بروتوكول HTTP هناك طلب POST إلى نقطة نهاية المصادقة resetPassword.

الطريقة: POST

Content-Type: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
حمولة نص الرسالة
اسم الموقع النوع الوصف
رمز oobCode السلسلة رمز إجراء البريد الإلكتروني الذي تم إرساله إلى البريد الإلكتروني للمستخدم لإعادة ضبط كلمة المرور.
حمولة الاستجابة
اسم الموقع النوع الوصف
البريد الإلكتروني السلسلة عنوان البريد الإلكتروني للمستخدم
requestType السلسلة نوع رمز إجراء الرسالة الإلكترونية. يجب أن تكون القيمة "password_RESET".

نموذج طلب

curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]"}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة.

نموذج ردّ

{
  "email": "[user@example.com]",
  "requestType": "PASSWORD_RESET"
}

رموز الأخطاء الشائعة

  • OPERATION_NOT_ALLOWED: تم إيقاف تسجيل الدخول باستخدام كلمة المرور لهذا المشروع.
  • EXPIRED_OOB_CODE: انتهت صلاحية رمز الإجراء.
  • CREDIT_OOB_CODE: رمز الإجراء غير صالح. قد يحدث هذا إذا تمت كتابة الرمز بشكل غير صحيح، أو انتهت صلاحيتها أو سبق استخدامها.

تأكيد إعادة ضبط كلمة المرور

يمكنك تطبيق تغيير في إعادة تعيين كلمة المرور من خلال إصدار بروتوكول HTTP هناك طلب POST إلى نقطة نهاية المصادقة resetPassword.

الطريقة: POST

Content-Type: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
حمولة نص الرسالة
اسم الموقع النوع الوصف
رمز oobCode السلسلة رمز إجراء البريد الإلكتروني الذي تم إرساله إلى البريد الإلكتروني للمستخدم لإعادة ضبط كلمة المرور.
كلمة مرور جديدة السلسلة كلمة المرور الجديدة للمستخدم
حمولة الاستجابة
اسم الموقع النوع الوصف
البريد الإلكتروني السلسلة عنوان البريد الإلكتروني للمستخدم
requestType السلسلة نوع رمز إجراء الرسالة الإلكترونية. يجب أن تكون القيمة "password_RESET".

نموذج طلب

curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"oobCode":"[PASSWORD_RESET_CODE]","newPassword":"[NEW_PASSWORD]"}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة.

نموذج ردّ

{
  "email": "[user@example.com]",
  "requestType": "PASSWORD_RESET"
}

رموز الأخطاء الشائعة

  • OPERATION_NOT_ALLOWED: تم إيقاف تسجيل الدخول باستخدام كلمة المرور لهذا المشروع.
  • EXPIRED_OOB_CODE: انتهت صلاحية رمز الإجراء.
  • CREDIT_OOB_CODE: رمز الإجراء غير صالح. قد يحدث هذا إذا تمت كتابة الرمز بشكل غير صحيح، أو انتهت صلاحيتها أو سبق استخدامها.
  • USER_DISABLED: أوقف المشرف حساب المستخدم.

تغيير البريد الإلكتروني

يمكنك تغيير البريد الإلكتروني لأي مستخدم عن طريق إصدار HTTP هناك طلب POST إلى نقطة نهاية المصادقة setAccountInfo.

الطريقة: POST

Content-Type: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
العناوين الاختيارية
اسم الموقع الوصف
لغة X-Firebase تمثّل هذه السمة رمز اللغة المتوافق مع لغة المستخدم. سيؤدي تمرير هذا إلى ترجمة إرسال إبطال تغيير البريد الإلكتروني إلى المستخدم.
طلب حمولة الجسم
اسم الموقع النوع الوصف
الرمز المميّز السلسلة رمز مميَّز لمعرّف مصادقة Firebase للمستخدم.
البريد الإلكتروني السلسلة عنوان البريد الإلكتروني الجديد للمستخدم
رمز الإرجاع الآمن قيمة منطقية ما إذا كان سيتم عرض معرّف ورمز مميز لإعادة التحميل أم لا.
حمولة الاستجابة
اسم الموقع النوع الوصف
المعرّف المحلي السلسلة المعرّف الفريد للمستخدم الحالي.
البريد الإلكتروني السلسلة عنوان البريد الإلكتروني للمستخدم
تجزئة كلمة المرور السلسلة نسخة مجزّأة من كلمة المرور
providerUserInfo قائمة بكائنات JSON قائمة بجميع كائنات الموفّر المرتبطة التي تحتوي على "providerId" و"fedeatedId".
الرمز المميّز السلسلة رمز مميز جديد لمعرّف مصادقة Firebase للمستخدم.
الرمز المميّز لإعادة التحميل السلسلة رمز مميز لإعادة تحميل مصادقة Firebase.
تاريخ انتهاء الصلاحية السلسلة عدد الثواني التي تنتهي فيها صلاحية الرمز المميّز للمعرّف.

نموذج طلب

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary \
'{"idToken":"[FIREBASE_ID_TOKEN]","email":"[user@example2.com]","returnSecureToken":true}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة. يحتوي الرد على الرمز المميز الجديد لرقم تعريف Firebase والرمز المميز لإعادة التحميل المرتبط مع المستخدم.

نموذج ردّ

{
  "localId": "tRcfmLH7o2...",
  "email": "[user@example2.com]",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "[user@example2.com]"
    }
  ],
  "idToken": "[NEW_ID_TOKEN]",
  "refreshToken": "[NEW_REFRESH_TOKEN]",
  "expiresIn": "3600"
}

رموز الأخطاء الشائعة

  • EMAIL_EXISTS: عنوان البريد الإلكتروني قيد الاستخدام بواسطة حساب آخر.
  • ASCII_ID_TOKEN:لم تعد بيانات اعتماد المستخدم صالحة. على المستخدم تسجيل الدخول مرة أخرى.

تغيير كلمة المرور

يمكنك تغيير كلمة مرور المستخدم عن طريق إصدار بروتوكول HTTP. هناك طلب POST إلى نقطة نهاية المصادقة setAccountInfo.

الطريقة: POST

Content-Type: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
حمولة نص الرسالة
اسم الموقع النوع الوصف
الرمز المميّز السلسلة رمز مميَّز لمعرّف مصادقة Firebase للمستخدم.
كلمة مرور السلسلة كلمة المرور الجديدة للمستخدم
رمز الإرجاع الآمن قيمة منطقية ما إذا كان سيتم عرض معرّف ورمز مميز لإعادة التحميل أم لا.
حمولة الاستجابة
اسم الموقع النوع الوصف
المعرّف المحلي السلسلة المعرّف الفريد للمستخدم الحالي.
البريد الإلكتروني السلسلة عنوان البريد الإلكتروني للمستخدم
تجزئة كلمة المرور السلسلة نسخة كلمة المرور المجزّأة
providerUserInfo قائمة بكائنات JSON قائمة بجميع كائنات الموفّر المرتبطة التي تحتوي على "providerId" و"fedeatedId".
الرمز المميّز السلسلة رمز مميز جديد لمعرّف مصادقة Firebase للمستخدم.
الرمز المميّز لإعادة التحميل السلسلة رمز مميز لإعادة تحميل مصادقة Firebase.
تاريخ انتهاء الصلاحية السلسلة عدد الثواني التي تنتهي فيها صلاحية الرمز المميّز للمعرّف.

نموذج طلب

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary \
'{"idToken":"[FIREBASE_ID_TOKEN]","password":"[NEW_PASSWORD]","returnSecureToken":true}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة. يحتوي الرد على الرمز المميز الجديد لرقم تعريف Firebase والرمز المميز لإعادة التحميل المرتبط مع المستخدم.

نموذج ردّ

{
  "localId": "tRcfmLH7o2...",
  "email": "[user@example.com]",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "[user@example.com]"
    }
  ],
  "idToken": "[NEW_ID_TOKEN]",
  "refreshToken": "[NEW_REFRESH_TOKEN]",
  "expiresIn": "3600"
}

رموز الأخطاء الشائعة

  • ASCII_ID_TOKEN:لم تعد بيانات اعتماد المستخدم صالحة. على المستخدم تسجيل الدخول مرة أخرى.
  • WEAK_password: يجب أن يكون طول كلمة المرور 6 أحرف أو أكثر.

تحديث الملف الشخصي

يمكنك تعديل الملف الشخصي لمستخدم (الاسم المعروض / عنوان URL للصورة) من خلال إصدار بروتوكول HTTP. هناك طلب POST إلى نقطة نهاية المصادقة setAccountInfo.

الطريقة: POST

Content-Type: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
حمولة نص الرسالة
اسم الموقع النوع الوصف
الرمز المميّز السلسلة رمز مميَّز لمعرّف مصادقة Firebase للمستخدم.
displayName السلسلة الاسم المعروض الجديد للمستخدم
عنوان URL للصورة السلسلة عنوان URL للصورة الجديدة للمستخدم
حذف السمة قائمة السلاسل قائمة السمات المراد حذفها، "DISPLAY_NAME" أو "PHOTO_URL". سيؤدي ذلك إلى إبطال ما يلي: القيم.
رمز الإرجاع الآمن قيمة منطقية ما إذا كان سيتم عرض معرّف ورمز مميز لإعادة التحميل أم لا.
حمولة الاستجابة
اسم الموقع النوع الوصف
المعرّف المحلي السلسلة المعرّف الفريد للمستخدم الحالي.
البريد الإلكتروني السلسلة عنوان البريد الإلكتروني للمستخدم
displayName السلسلة الاسم المعروض الجديد للمستخدم
عنوان URL للصورة السلسلة عنوان URL للصورة الجديدة للمستخدم
تجزئة كلمة المرور السلسلة نسخة كلمة المرور المجزّأة
providerUserInfo قائمة بكائنات JSON قائمة بجميع كائنات الموفّر المرتبطة التي تحتوي على "providerId" و"fedeatedId".
الرمز المميّز السلسلة رمز مميز جديد لمعرّف مصادقة Firebase للمستخدم.
الرمز المميّز لإعادة التحميل السلسلة رمز مميز لإعادة تحميل مصادقة Firebase.
تاريخ انتهاء الصلاحية السلسلة عدد الثواني التي تنتهي فيها صلاحية الرمز المميّز للمعرّف.

نموذج طلب

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary \
'{"idToken":"[ID_TOKEN]","displayName":"[NAME]","photoUrl":"[URL]","returnSecureToken":true}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة.

نموذج ردّ

{
  "localId": "tRcfmLH...",
  "email": "user@example2.com",
  "displayName": "John Doe",
  "photoUrl": "[http://localhost:8080/img1234567890/photo.png]",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "user@example2.com",
      "displayName": "John Doe",
      "photoUrl": "http://localhost:8080/img1234567890/photo.png"
    }
  ],
  "idToken": "[NEW_ID_TOKEN]",
  "refreshToken": "[NEW_REFRESH_TOKEN]",
  "expiresIn": "3600"
}

رموز الأخطاء الشائعة

  • ASCII_ID_TOKEN:لم تعد بيانات اعتماد المستخدم صالحة. على المستخدم تسجيل الدخول مرة أخرى.

الحصول على بيانات المستخدمين

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

الطريقة: POST

Content-Type: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
حمولة نص الرسالة
اسم الموقع النوع الوصف
الرمز المميّز السلسلة الرمز المميز لرقم تعريف Firebase للحساب.
حمولة الاستجابة
اسم الموقع النوع الوصف
المستخدمون قائمة بكائنات JSON الحساب المرتبط بالرمز المميّز المخصَّص لرقم تعريف Firebase انظر أدناه للاطّلاع على المزيد التفاصيل.
حمولة الاستجابة (محتوى مصفوفة users)
اسم الموقع النوع الوصف
المعرّف المحلي السلسلة المعرّف الفريد للمستخدم الحالي.
البريد الإلكتروني السلسلة عنوان البريد الإلكتروني الخاص بالحساب.
تم التحقق من عنوان البريد الإلكتروني قيمة منطقية ما إذا تم إثبات ملكية البريد الإلكتروني للحساب أم لا.
displayName السلسلة الاسم المعروض للحساب.
providerUserInfo قائمة بكائنات JSON قائمة بجميع كائنات الموفّر المرتبطة التي تحتوي على "providerId" و"fedeatedId".
عنوان URL للصورة السلسلة عنوان URL للصورة للحساب.
تجزئة كلمة المرور السلسلة نسخة كلمة المرور المجزّأة
كلمة المرور محدَّثة في مزدوج الطابع الزمني بالمللي ثانية الذي تم فيه تغيير كلمة مرور الحساب لآخر مرة.
صالحة منذ السلسلة الطابع الزمني بالثواني الذي يشير إلى حدود والذي يتم قبله الرمز المميز لمعرّف Firebase تم اعتباره باطلاً.
غير مفعّل قيمة منطقية ما إذا كان الحساب موقوفًا أم لا
آخر تسجيل دخول في السلسلة الطابع الزمني بالمللي ثانية الذي سجَّل الدخول فيه الحساب آخر مرة
تاريخ الإنشاء السلسلة الطابع الزمني بالمللي ثانية الذي تم إنشاء الحساب فيه.
مصادقة مخصصة قيمة منطقية ما إذا كان الحساب قد صادق عليه المطوِّر

نموذج طلب

curl 'https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة. وسيتضمّن الردّ جميع معلومات المستخدم المرتبطة بالحساب.

نموذج ردّ

{
  "users": [
    {
      "localId": "ZY1rJK0...",
      "email": "user@example.com",
      "emailVerified": false,
      "displayName": "John Doe",
      "providerUserInfo": [
        {
          "providerId": "password",
          "displayName": "John Doe",
          "photoUrl": "http://localhost:8080/img1234567890/photo.png",
          "federatedId": "user@example.com",
          "email": "user@example.com",
          "rawId": "user@example.com",
          "screenName": "user@example.com"
        }
      ],
      "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg",
      "passwordHash": "...",
      "passwordUpdatedAt": 1.484124177E12,
      "validSince": "1484124177",
      "disabled": false,
      "lastLoginAt": "1484628946000",
      "createdAt": "1484124142000",
      "customAuth": false
    }
  ]
}

رموز الأخطاء الشائعة

  • ASCII_ID_TOKEN:لم تعد بيانات اعتماد المستخدم صالحة. على المستخدم تسجيل الدخول مرة أخرى.
  • USER_NOT_FOUND: ليس هناك سجلّ مستخدم يتوافق مع هذا المعرّف. يجوز للمستخدم تم حذف.

يمكنك ربط بريد إلكتروني/كلمة مرور لمستخدم حالي عن طريق إصدار HTTP هناك طلب POST إلى نقطة نهاية المصادقة setAccountInfo.

الطريقة: POST

Content-Type: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
حمولة نص الرسالة
اسم الموقع النوع الوصف
الرمز المميّز السلسلة الرمز المميز لمعرّف Firebase للحساب الذي تحاول ربط بيانات الاعتماد به.
البريد الإلكتروني السلسلة عنوان البريد الإلكتروني المطلوب ربطه بالحساب.
كلمة مرور السلسلة كلمة المرور الجديدة للحساب.
رمز الإرجاع الآمن السلسلة ما إذا كان سيتم عرض معرّف ورمز مميز لإعادة التحميل أم لا. يجب أن يكون صحيحًا دائمًا.
حمولة الاستجابة
اسم الموقع النوع الوصف
المعرّف المحلي السلسلة المعرّف الفريد للمستخدم الحالي.
البريد الإلكتروني السلسلة عنوان البريد الإلكتروني الخاص بالحساب.
displayName السلسلة الاسم المعروض للحساب.
عنوان URL للصورة السلسلة عنوان URL للصورة للحساب.
تجزئة كلمة المرور السلسلة نسخة كلمة المرور المجزّأة
providerUserInfo قائمة بكائنات JSON قائمة بجميع كائنات الموفّر المرتبطة التي تحتوي على "providerId" و"fedeatedId".
تم التحقق من عنوان البريد الإلكتروني قيمة منطقية ما إذا تم إثبات ملكية البريد الإلكتروني للحساب أم لا.
الرمز المميّز السلسلة رمز مميز جديد لمعرّف مصادقة Firebase للمستخدم.
الرمز المميّز لإعادة التحميل السلسلة رمز مميز لإعادة تحميل مصادقة Firebase.
تاريخ انتهاء الصلاحية السلسلة عدد الثواني التي تنتهي فيها صلاحية الرمز المميّز للمعرّف.

نموذج طلب

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary \
'{"idToken":"[ID_TOKEN]","email":"[user@example.com]","password":"[PASS]","returnSecureToken":true}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة. يحتوي الردّ على الرمز المميّز لرقم تعريف Firebase والرمز المميّز لإعادة التحميل المرتبط مستخدم تمت مصادقته.

نموذج ردّ

{
  "localId": "huDwUz...",
  "email": "user@example.com",
  "displayName": "John Doe",
  "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "user@example.com"
    }
  ],
  "idToken": "[ID_TOKEN]",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "emailVerified": false
}

رموز الأخطاء الشائعة

  • CREDENTIAL_TOO_OLD_LOGIN_AGAIN: لم تعد بيانات اعتماد المستخدم صالحة. يجب على المستخدم سجِّل الدخول مجددًا.
  • TOKEN_EXPIRED: لم تعد بيانات اعتماد المستخدم صالحة. على المستخدم تسجيل الدخول مرة أخرى.
  • ASCII_ID_TOKEN:لم تعد بيانات اعتماد المستخدم صالحة. على المستخدم تسجيل الدخول مرة أخرى.
  • WEAK_password: يجب أن يكون طول كلمة المرور 6 أحرف أو أكثر.

يمكنك ربط بيانات اعتماد OAuth بأحد المستخدمين من خلال إصدار HTTP هناك طلب POST إلى نقطة نهاية المصادقة verifyAssertion.

الطريقة: POST

Content-Type: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
حمولة نص الرسالة
اسم الموقع النوع الوصف
الرمز المميّز السلسلة الرمز المميز لمعرّف Firebase للحساب الذي تحاول ربط بيانات الاعتماد به.
طلب معرفو السلسلة معرِّف الموارد المنتظم (URI) الذي يعيد موفِّر الهوية (idP) توجيه المستخدم إليه.
PostBody السلسلة يحتوي على بيانات اعتماد OAuth (رمز مميّز لرقم التعريف أو رمز دخول) ورقم تعريف موفّر للمشاكل. بيانات الاعتماد.
رمز الإرجاع الآمن قيمة منطقية ما إذا كان سيتم عرض معرّف ورمز مميز لإعادة التحميل أم لا. يجب أن يكون صحيحًا دائمًا.
بيانات اعتماد الإرجاع قيمة منطقية تحديد ما إذا كان سيتم فرض عرض بيانات اعتماد OAuth في الأخطاء التالية: FEDERATED_USER_ID_ALREADY_LINKED وEMAIL_EXISTS.
حمولة الاستجابة
اسم الموقع النوع الوصف
المعرّف الموحّد السلسلة يحدِّد المعرّف الفريد حساب موفِّر الهوية (idP).
رقم تعريف موفّر الخدمة السلسلة رقم تعريف الموفّر المرتبط (مثل "google.com" لمقدّم خدمة Google)
المعرّف المحلي السلسلة المعرّف الفريد للمستخدم الذي تمت مصادقته.
تم التحقق من عنوان البريد الإلكتروني قيمة منطقية ما إذا كان قد تم التحقق من عنوان البريد الإلكتروني لتسجيل الدخول.
البريد الإلكتروني السلسلة عنوان البريد الإلكتروني الخاص بالحساب.
رمز oauthIdToken السلسلة هو الرمز المميّز لمعرّف OIDC إذا كان متاحًا.
رمز oauthAccessToken السلسلة رمز الدخول عبر OAuth إن كان متاحًا.
oauthTokenSecret السلسلة الرمز السري لـ OAuth 1.0 إذا كان متاحًا.
معلومات المستخدِم RAW السلسلة استجابة JSON التي تم تحويلها إلى سلسلة نصية تتضمّن جميع بيانات موفِّر الهوية (idP) المقابلة للقيمة المقدَّمة بيانات اعتماد OAuth.
الاسم الأول السلسلة الاسم الأول للحساب.
اسم العائلة السلسلة اسم العائلة للحساب.
الاسم الكامل السلسلة الاسم الكامل للحساب.
displayName السلسلة الاسم المعروض للحساب.
عنوان URL للصورة السلسلة عنوان URL للصورة للحساب.
الرمز المميّز السلسلة رمز مميَّز لمعرّف مصادقة Firebase للمستخدم الذي تمت مصادقته.
الرمز المميّز لإعادة التحميل السلسلة رمز مميز لإعادة تحميل مصادقة Firebase للمستخدم الذي تمت مصادقته.
تاريخ انتهاء الصلاحية السلسلة عدد الثواني التي تنتهي فيها صلاحية الرمز المميّز للمعرّف.

نموذج طلب باستخدام الرمز المميّز لرقم تعريف OAuth

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","idToken":"[FIREBASE_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة. يحتوي الردّ على الرمز المميّز لرقم تعريف Firebase والرمز المميّز لإعادة التحميل المرتبط. مع المستخدم الذي تمت مصادقته.

نموذج استجابة يتضمّن الرمز المميّز لرقم تعريف OAuth

{
  "federatedId": "https://accounts.google.com/1234567890",
  "providerId": "google.com",
  "localId": "5xwsPCWYo...",
  "emailVerified": true,
  "email": "user@example.com",
  "oauthIdToken": "[GOOGLE_ID_TOKEN]",
  "firstName": "John",
  "lastName": "Doe",
  "fullName": "John Doe",
  "displayName": "John Doe",
  "idToken": "[ID_TOKEN]",
  "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}"
}

نموذج طلب باستخدام رمز الدخول OAuth

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"access_token=[FACEBOOK_ACCESS_TOKEN]&providerId=[facebook.com]","idToken":"[FIREBASE_ID_TOKEN]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة. يحتوي الردّ على الرمز المميّز لرقم تعريف Firebase والرمز المميّز لإعادة التحميل المرتبط. مع المستخدم الذي تمت مصادقته.

نموذج استجابة باستخدام رمز الدخول المميز عبر OAuth

{
  "federatedId": "http://facebook.com/1234567890",
  "providerId": "facebook.com",
  "localId": "5xwsPCWYo...",
  "emailVerified": true,
  "email": "user@example.com",
  "oauthAccessToken": "[FACEBOOK_ACCESS_TOKEN]",
  "firstName": "John",
  "lastName": "Doe",
  "fullName": "John Doe",
  "displayName": "John Doe",
  "idToken": "[ID_TOKEN]",
  "photoUrl": "https://scontent.xx.fbcdn.net/v/...",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}"
}

نموذج طلب باستخدام بيانات اعتماد Twitter OAuth 1.0

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","idToken":"[FIREBASE_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة. يحتوي الردّ على الرمز المميّز لرقم تعريف Firebase والرمز المميّز لإعادة التحميل المرتبط. مع المستخدم الذي تمت مصادقته.

نموذج استجابة باستخدام بيانات اعتماد Twitter OAuth 1.0

{
  "federatedId": "http://twitter.com/1234567890",
  "providerId": "twitter.com",
  "localId": "5xwsPCWYo...",
  "emailVerified": true,
  "email": "user@example.com",
  "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]",
  "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]",
  "firstName": "John",
  "lastName": "Doe",
  "fullName": "John Doe",
  "displayName": "John Doe",
  "idToken": "[ID_TOKEN]",
  "photoUrl": "http://abs.twimg.com/sticky/...",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}"
}

رموز الأخطاء الشائعة

  • OPERATION_NOT_ALLOWED: تم إيقاف مقدم الخدمة المناظر لهذا المشروع.
  • ضياء_IdP_RESPONSE: بيانات اعتماد المصادقة المقدمة غير صحيحة أو انتهت صلاحيتها.
  • ASCII_ID_TOKEN:لم تعد بيانات اعتماد المستخدم صالحة. على المستخدم تسجيل الدخول مرة أخرى.
  • EMAIL_EXISTS: عنوان البريد الإلكتروني قيد الاستخدام بواسطة حساب آخر.
  • FEDERATED_USER_ID_ALREADY_LINKED: تم ربط بيانات الاعتماد هذه بالفعل بحساب حساب مستخدم.

يمكنك إلغاء ربط أحد المزودين بمستخدم حالي عن طريق إصدار بروتوكول HTTP هناك طلب POST إلى نقطة نهاية المصادقة setAccountInfo.

الطريقة: POST

Content-Type: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
حمولة نص الرسالة
اسم الموقع النوع الوصف
الرمز المميّز السلسلة الرمز المميز لرقم تعريف Firebase للحساب.
deleteProvider قائمة السلاسل قائمة أرقام تعريف موفّري الخدمة المطلوب إلغاء ربطها، مثل: "google.com" أو "password" وما إلى ذلك
حمولة الاستجابة
اسم الموقع النوع الوصف
المعرّف المحلي السلسلة المعرّف الفريد للمستخدم الحالي.
البريد الإلكتروني السلسلة عنوان البريد الإلكتروني الخاص بالحساب.
displayName السلسلة الاسم المعروض للحساب.
عنوان URL للصورة السلسلة عنوان URL للصورة للحساب.
تجزئة كلمة المرور السلسلة نسخة مجزّأة من كلمة المرور
providerUserInfo قائمة بكائنات JSON قائمة بجميع كائنات الموفّر المرتبطة التي تحتوي على "providerId" و"fedeatedId".
تم التحقق من عنوان البريد الإلكتروني قيمة منطقية ما إذا تم إثبات ملكية البريد الإلكتروني للحساب أم لا.

نموذج طلب

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"idToken":"[FIREBASE_ID_TOKEN]","deleteProvider":["[facebook.com]"]}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة.

نموذج ردّ

{
  "localId": "huDwUz...",
  "email": "user@example.com",
  "displayName": "John Doe",
  "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "google.com",
      "federatedId": "1234567890",
      "displayName": "John Doe",
      "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg"
    },
    {
      "providerId": "password",
      "federatedId": "user@example.com"
    }
  ],
  "emailVerified": "true"
}

رموز الأخطاء الشائعة

  • ASCII_ID_TOKEN: لم تعد بيانات اعتماد المستخدم صالحة. على المستخدم تسجيل الدخول مرة أخرى.

إرسال رسالة تحقق

يمكنك إرسال رسالة تحقق من البريد الإلكتروني للمستخدم الحالي من خلال إصدار HTTP هناك طلب POST إلى نقطة نهاية المصادقة getOobConfirmationCode.

الطريقة: POST

Content-Type: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
العناوين الاختيارية
اسم الموقع الوصف
لغة X-Firebase تمثّل هذه السمة رمز اللغة المتوافق مع لغة المستخدم. سيؤدي تمرير هذا إلى ترجمة إرسال التحقق من عنوان البريد الإلكتروني إلى المستخدم.
طلب حمولة الجسم
اسم الموقع النوع الوصف
requestType السلسلة نوع رمز تأكيد البيانات الذي سيتم إرساله. القيمة التي يجب إدخالها دائمًا: "verify_EMAIL".
الرمز المميّز السلسلة الرمز المميّز لمعرّف Firebase الخاص بالمستخدم المطلوب إثبات ملكيته.
حمولة الاستجابة
اسم الموقع النوع الوصف
البريد الإلكتروني السلسلة عنوان البريد الإلكتروني الخاص بالحساب.

نموذج طلب

curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"requestType":"VERIFY_EMAIL","idToken":"[FIREBASE_ID_TOKEN]"}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة.

نموذج ردّ

{
  "email": "user@example.com"
}

رموز الأخطاء الشائعة

  • ASCII_ID_TOKEN: لم تعد بيانات اعتماد المستخدم صالحة. على المستخدم تسجيل الدخول مرة أخرى.
  • USER_NOT_FOUND: ليس هناك سجلّ مستخدم يتوافق مع هذا المعرّف. يجوز للمستخدم تم حذف.

تأكيد التحقق من البريد الإلكتروني

يمكنك تأكيد رمز التحقق من البريد الإلكتروني من خلال إصدار بروتوكول HTTP هناك طلب POST إلى نقطة نهاية المصادقة setAccountInfo.

الطريقة: POST

Content-Type: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
حمولة نص الرسالة
اسم الموقع النوع الوصف
رمز oobCode السلسلة رمز الإجراء الذي تم إرساله إلى عنوان البريد الإلكتروني الخاص بالمستخدم لإثبات ملكية عنوان البريد الإلكتروني.
حمولة الاستجابة
اسم الموقع النوع الوصف
البريد الإلكتروني السلسلة عنوان البريد الإلكتروني الخاص بالحساب.
displayName السلسلة الاسم المعروض للحساب.
عنوان URL للصورة السلسلة عنوان URL للصورة للحساب.
تجزئة كلمة المرور السلسلة تجزئة كلمة المرور
providerUserInfo قائمة بكائنات JSON قائمة بجميع كائنات الموفّر المرتبطة التي تحتوي على "providerId" و"fedeatedId".
تم التحقق من عنوان البريد الإلكتروني قيمة منطقية ما إذا تم إثبات ملكية البريد الإلكتروني للحساب أم لا.

نموذج طلب

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"oobCode":"[VERIFICATION_CODE]"}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة.

نموذج ردّ

{
  "localId": "FhyStE...",
  "email": "user@example.com",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "user@example.com"
    }
  ]
}

رموز الأخطاء الشائعة

  • EXPIRED_OOB_CODE: انتهت صلاحية رمز الإجراء.
  • CREDIT_OOB_CODE: رمز الإجراء غير صالح. قد يحدث هذا إذا تمت كتابة الرمز بشكل غير صحيح، أو انتهت صلاحيتها أو سبق استخدامها.
  • USER_DISABLED: أوقف المشرف حساب المستخدم.
  • EMAIL_NOT_FOUND: ليس هناك سجل مستخدم يتوافق مع هذا المعرّف. يجوز للمستخدم تم حذف.

حذف الحساب

يمكنك حذف مستخدم حالي عن طريق إصدار HTTP هناك طلب POST إلى نقطة نهاية المصادقة deleteAccount.

الطريقة: POST

Content-Type: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
حمولة نص الرسالة
اسم الموقع النوع الوصف
الرمز المميّز السلسلة الرمز المميّز لمعرّف Firebase الخاص بالمستخدم المطلوب حذفه.
حمولة الاستجابة
اسم الموقع النوع الوصف

نموذج طلب

curl 'https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'

يُشار إلى الطلب الناجح باستخدام 200 OK HTTP رمز الحالة.

رموز الأخطاء الشائعة

  • ASCII_ID_TOKEN:لم تعد بيانات اعتماد المستخدم صالحة. على المستخدم تسجيل الدخول مرة أخرى.
  • USER_NOT_FOUND: ليس هناك سجلّ مستخدم يتوافق مع هذا المعرّف. يجوز للمستخدم تم حذف.

محاكي مصادقة Firebase

تشتمل "مجموعة أدوات المحاكي المحلي في Firebase" على محاكي مصادقة يمكن استخدامه من أجل نماذج أولية محلية واختبار تدفقات المصادقة. يعرض المحاكي مجموعة REST التالية والنقاط النهائية.

محو حسابات المستخدمين

أزِل جميع الحسابات في المشروع المحدّد، بغض النظر عن الولاية.

الطريقة: DELETE

نقطة النهاية

يُرجى العِلم أنّ 9099 هو المنفذ التلقائي لمحاكي المصادقة. التحقّق من الوحدة الطرفية الإخراج للمنفذ الفعلي المستخدم.

http://localhost:9099/emulator/v1/projects/{project-id}/accounts

الحصول على إعداد المحاكي

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

الطريقة: GET

نقطة النهاية

يُرجى العِلم أنّ 9099 هو المنفذ التلقائي لمحاكي المصادقة. التحقّق من الوحدة الطرفية الإخراج للمنفذ الفعلي المستخدم.

http://localhost:9099/emulator/v1/projects/{project-id}/config
حمولة الاستجابة
اسم الموقع النوع الوصف
تسجيل الدخول كائن كائن إعداد تسجيل الدخول الذي يحتوي على مفتاح واحد، allowDuplicateEmails (منطقي).

إعداد محاكي التصحيح

يمكنك تعديل الإعدادات الخاصة بالمحاكي للمشروع المحدّد.

الطريقة: PATCH

نقطة النهاية

يُرجى العِلم أنّ 9099 هو المنفذ التلقائي لمحاكي المصادقة. التحقّق من الوحدة الطرفية الإخراج للمنفذ الفعلي المستخدم.

Content-Type: application/json

http://localhost:9099/emulator/v1/projects/{project-id}/config
حمولة نص الرسالة
اسم الموقع النوع الوصف
تسجيل الدخول كائن كائن إعداد تسجيل الدخول المطلوب باستخدام مفتاح واحد، allowDuplicateEmails (منطقي).
حمولة الاستجابة
اسم الموقع النوع الوصف
تسجيل الدخول كائن كائن إعداد تسجيل الدخول بعد الطلب باستخدام مفتاح واحد، allowDuplicateEmails (منطقي).

استرداد رموز المصادقة خارج النطاق

وإذا كانت مسارات المصادقة التي تختبرها تنشئ عادةً رموزًا خارج النطاق (مثل رموز التحقق من البريد الإلكتروني ورموز إعادة تعيين كلمة المرور)، يخزّن المحاكي هذه الرموز داخليًا حتى استخدامها.

الطريقة: GET

نقطة النهاية

يُرجى العِلم أنّ 9099 هو المنفذ التلقائي لمحاكي المصادقة. التحقّق من الوحدة الطرفية الإخراج للمنفذ الفعلي المستخدم.

http://localhost:9099/emulator/v1/projects/{project-id}/oobCodes
حمولة الاستجابة
اسم الموقع النوع الوصف
رموز oobCodes مصفوفة مصفوفة من العناصر التي تحتوي على تفاصيل جميع رموز التأكيد التي في انتظار المراجعة. يحتوي كل عنصر على email (سلسلة) وoobCode (سلسلة) oobLink (سلسلة) وrequestType (سلسلة)

استرداد رموز التحقق عبر الرسائل القصيرة SMS

إذا كنت تختبر تدفقات مصادقة الهاتف/الرسائل القصيرة، يخزّن المحاكي رموز الرسائل القصيرة هذه داخليًا حتى يتم استخدامها.

الطريقة: GET

نقطة النهاية

يُرجى العِلم أنّ 9099 هو المنفذ التلقائي لمحاكي المصادقة. التحقّق من الوحدة الطرفية الإخراج للمنفذ الفعلي المستخدم.

http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodes
حمولة الاستجابة
اسم الموقع النوع الوصف
رموز التحقّق مصفوفة مصفوفة من العناصر التي تحتوي على تفاصيل جميع رموز التحقّق التي في انتظار المراجعة. يحتوي كل كائن على phoneNumber (سلسلة) وsessionCode (سلسلة).

الرد على الخطأ

تنسيق استجابة الخطأ

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

نموذج ردّ

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "invalid",
        "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN"
      }
    ],
    "code": 400,
    "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN"
  }
}

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