Firebase Auth REST API

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

يمكنك الاستعلام عن الواجهة الخلفية لـ Firebase Auth من خلال REST API. يمكن استخدام هذا في عمليات مختلفة مثل إنشاء مستخدمين جدد وتسجيل الدخول إلى المستخدمين الحاليين وتحرير هؤلاء المستخدمين أو حذفهم.

في هذا المستند، يشير API_KEY إلى مفتاح Web API، والذي يمكن الحصول عليه من صفحة إعدادات المشروع في وحدة تحكم المشرف لديك.

تبادل الرمز المميز المخصص لمعرف ورمز التحديث

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

الطريقة: مشاركة

نوع المحتوى: application/json

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

طلب عينة

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

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

استجابة العينة

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

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

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

استبدل رمز التحديث برمز معرف

يمكنك تحديث رمز Firebase ID المميز عن طريق إصدار طلب HTTP POST إلى نقطة النهاية securetoken.googleapis.com .

الطريقة: مشاركة

نوع المحتوى: application/x-www-form-urlencoded

نقطة النهاية
https://securetoken.googleapis.com/v1/token?key=[API_KEY]
طلب حمولة الجسم
اسم الخاصية يكتب وصف
Grant_type خيط نوع منح رمز التحديث، دائمًا "refresh_token".
refresh_token خيط رمز تحديث مصادقة Firebase.
حمولة الاستجابة
اسم الخاصية يكتب وصف
ينتهي في خيط عدد الثواني التي تنتهي فيها صلاحية رمز التعريف.
token_type خيط نوع رمز التحديث، دائمًا "حامل".
refresh_token خيط رمز تحديث Firebase Auth المقدم في الطلب أو رمز تحديث جديد.
id_token خيط رمز معرف مصادقة Firebase.
معرف المستخدم خيط المعرف الفريد المطابق لرمز المعرف المقدم.
معرف المشروع خيط معرف مشروع 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]'

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

استجابة العينة

{
  "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: لم يتم العثور على المستخدم المطابق لرمز التحديث. من المحتمل أنه تم حذف المستخدم.
  • مفتاح API غير صالح. يرجى تمرير مفتاح API صالح. (تم توفير مفتاح API غير صالح)
  • INVALID_REFRESH_TOKEN: تم توفير رمز تحديث غير صالح.
  • تم استلام حمولة JSON غير صالحة. اسم غير معروف \"refresh_tokens\": لا يمكن ربط معلمة الاستعلام. تعذر العثور على الحقل "refresh_tokens" في رسالة الطلب.
  • INVALID_GRANT_TYPE: نوع المنحة المحدد غير صالح.
  • MISSING_REFRESH_TOKEN: لم يتم توفير رمز مميز للتحديث.
  • PROJECT_NUMBER_MISMATCH: لا يتطابق رقم المشروع الخاص برمز التحديث مع رقم مفتاح API المقدم.

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

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

الطريقة: مشاركة

نوع المحتوى: application/json

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

طلب عينة

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}'

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

استجابة العينة

{
  "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 إلى نقطة نهاية Auth verifyPassword .

الطريقة: مشاركة

نوع المحتوى: application/json

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

طلب عينة

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}'

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

استجابة العينة

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

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

  • EMAIL_NOT_FOUND: لا يوجد سجل مستخدم يتوافق مع هذا المعرف. ربما تم حذف المستخدم.
  • INVALID_PASSWORD: كلمة المرور غير صالحة أو أن المستخدم ليس لديه كلمة مرور.
  • USER_DISABLED: تم تعطيل حساب المستخدم من قبل المسؤول.

الدخول بتخفي

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

الطريقة: مشاركة

نوع المحتوى: application/json

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

طلب عينة

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

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

استجابة العينة

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

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

  • OPERATION_NOT_ALLOWED: تم تعطيل تسجيل دخول المستخدم المجهول لهذا المشروع.

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

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

الطريقة: مشاركة

نوع المحتوى: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
طلب حمولة الجسم
اسم الخاصية يكتب وصف
requestUri خيط معرف URI الذي يقوم IDP بإعادة توجيه المستخدم إليه مرة أخرى.
postBody خيط يحتوي على بيانات اعتماد OAuth (رمز معرف أو رمز وصول) ومعرف الموفر الذي يصدر بيانات الاعتماد.
returnSecureToken منطقية ما إذا كان سيتم إرجاع المعرف ورمز التحديث أم لا. ينبغي أن يكون صحيحا دائما.
returnIdpCredential منطقية ما إذا كان سيتم فرض إرجاع بيانات اعتماد OAuth على الأخطاء التالية: FEDERATED_USER_ID_ALREADY_LINKED وEMAIL_EXISTS.
حمولة الاستجابة
اسم الخاصية يكتب وصف
federatedId خيط يحدد المعرف الفريد حساب IdP.
معرف_الموفر خيط معرف الموفر المرتبط (على سبيل المثال، "google.com" لموفر Google).
المعرف المحلي خيط معرف المستخدم المصادق عليه.
تم التحقق من البريد الإلكتروني منطقية ما إذا كان قد تم التحقق من البريد الإلكتروني لتسجيل الدخول.
بريد إلكتروني خيط البريد الإلكتروني للحساب.
com.oauthIdToken خيط رمز معرف OIDC إذا كان متاحًا.
oauthAccessToken خيط رمز وصول OAuth إذا كان متاحًا.
oauthTokenSecret خيط سر رمز OAuth 1.0 إذا كان متاحًا.
معلومات المستخدم الخام خيط استجابة JSON المقسمة التي تحتوي على جميع بيانات IdP المطابقة لبيانات اعتماد OAuth المقدمة.
الاسم الأول خيط الاسم الأول للحساب.
اسم العائلة خيط الاسم الأخير للحساب.
الاسم الكامل خيط الاسم الكامل للحساب.
اسم العرض خيط الاسم المعروض للحساب.
photoUrl خيط رابط الصورة للحساب.
idToken خيط رمز معرف مصادقة Firebase للمستخدم الذي تمت مصادقته.
refreshToken خيط رمز تحديث Firebase Auth للمستخدم الذي تمت مصادقته.
ينتهي في خيط عدد الثواني التي تنتهي فيها صلاحية رمز التعريف.
needConfirmation منطقية ما إذا كان هناك حساب آخر بنفس بيانات الاعتماد موجودًا بالفعل. سيحتاج المستخدم إلى تسجيل الدخول إلى الحساب الأصلي ثم ربط بيانات الاعتماد الحالية به.

نموذج طلب مع رمز معرف 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}'

تتم الإشارة إلى الطلب الناجح من خلال رمز حالة HTTP 200 OK . تحتوي الاستجابة على رمز معرف 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}'

تتم الإشارة إلى الطلب الناجح من خلال رمز حالة HTTP 200 OK . تحتوي الاستجابة على رمز معرف 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}'

تتم الإشارة إلى الطلب الناجح من خلال رمز حالة HTTP 200 OK . تحتوي الاستجابة على رمز معرف 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: تم تعطيل الموفر المقابل لهذا المشروع.
  • INVALID_IDP_RESPONSE: بيانات اعتماد المصادقة المقدمة غير صحيحة أو انتهت صلاحيتها.

جلب موفري البريد الإلكتروني

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

الطريقة: مشاركة

نوع المحتوى: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
طلب حمولة الجسم
اسم الخاصية يكتب وصف
معرف خيط عنوان البريد الإلكتروني للمستخدم
continueUri خيط معرف URI الذي يقوم IDP بإعادة توجيه المستخدم إليه مرة أخرى. بالنسبة لحالة الاستخدام هذه، هذا هو عنوان URL الحالي فقط.
حمولة الاستجابة
اسم الخاصية يكتب وصف
allProviders قائمة السلاسل قائمة الموفرين الذين قام المستخدم بتسجيل الدخول معهم مسبقًا.
مسجل منطقية ما إذا كان البريد الإلكتروني لحساب موجود

طلب عينة

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]"}'

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

استجابة العينة

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

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

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

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

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

الطريقة: مشاركة

نوع المحتوى: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
الرؤوس الاختيارية
اسم الخاصية وصف
X-Firebase-اللغة رمز اللغة المتوافق مع لغة المستخدم. سيؤدي تمرير هذا إلى ترجمة البريد الإلكتروني لإعادة تعيين كلمة المرور المرسل إلى المستخدم.
طلب حمولة الجسم
اسم الخاصية يكتب وصف
نوع الطلب خيط نوع رمز 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]"}'

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

استجابة العينة

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

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

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

التحقق من رمز إعادة تعيين كلمة المرور

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

الطريقة: مشاركة

نوع المحتوى: application/json

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

طلب عينة

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

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

استجابة العينة

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

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

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

تأكيد إعادة تعيين كلمة المرور

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

الطريقة: مشاركة

نوع المحتوى: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
طلب حمولة الجسم
اسم الخاصية يكتب وصف
oobCode خيط تم إرسال رمز إجراء البريد الإلكتروني إلى البريد الإلكتروني للمستخدم لإعادة تعيين كلمة المرور.
كلمة المرور الجديدة خيط كلمة المرور الجديدة للمستخدم.
حمولة الاستجابة
اسم الخاصية يكتب وصف
بريد إلكتروني خيط عنوان البريد الإلكتروني للمستخدم.
نوع الطلب خيط نوع رمز إجراء البريد الإلكتروني. ينبغي أن يكون "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]"}'

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

استجابة العينة

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

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

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

تغيير الايميل

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

الطريقة: مشاركة

نوع المحتوى: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
رؤوس اختيارية
اسم الخاصية وصف
X-Firebase-اللغة رمز اللغة المتوافق مع لغة المستخدم. سيؤدي تمرير هذا إلى ترجمة إلغاء تغيير البريد الإلكتروني المرسل إلى المستخدم.
طلب حمولة الجسم
اسم الخاصية يكتب وصف
idToken خيط رمز معرف مصادقة Firebase للمستخدم.
بريد إلكتروني خيط البريد الإلكتروني الجديد للمستخدم.
returnSecureToken منطقية ما إذا كان سيتم إرجاع المعرف ورمز التحديث أم لا.
حمولة الاستجابة
اسم الخاصية يكتب وصف
المعرف المحلي خيط معرف المستخدم الحالي.
بريد إلكتروني خيط عنوان البريد الإلكتروني للمستخدم.
com.passwordHash خيط نسخة التجزئة من كلمة المرور.
ProviderUserInfo قائمة كائنات JSON قائمة بجميع كائنات الموفر المرتبطة التي تحتوي على "providerId" و"federatedId".
idToken خيط رمز معرف مصادقة Firebase الجديد للمستخدم.
refreshToken خيط رمز تحديث مصادقة 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}'

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

استجابة العينة

{
  "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: عنوان البريد الإلكتروني قيد الاستخدام بالفعل بواسطة حساب آخر.
  • INVALID_ID_TOKEN:بيانات اعتماد المستخدم لم تعد صالحة. يجب على المستخدم تسجيل الدخول مرة أخرى.

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

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

الطريقة: مشاركة

نوع المحتوى: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
طلب حمولة الجسم
اسم الخاصية يكتب وصف
idToken خيط رمز معرف مصادقة Firebase للمستخدم.
كلمة المرور خيط كلمة المرور الجديدة للمستخدم.
returnSecureToken منطقية ما إذا كان سيتم إرجاع المعرف ورمز التحديث أم لا.
حمولة الاستجابة
اسم الخاصية يكتب وصف
المعرف المحلي خيط معرف المستخدم الحالي.
بريد إلكتروني خيط عنوان البريد الإلكتروني للمستخدم.
com.passwordHash خيط نسخة التجزئة من كلمة المرور.
ProviderUserInfo قائمة كائنات JSON قائمة بجميع كائنات الموفر المرتبطة التي تحتوي على "providerId" و"federatedId".
idToken خيط رمز معرف مصادقة Firebase الجديد للمستخدم.
refreshToken خيط رمز تحديث مصادقة 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}'

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

استجابة العينة

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

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

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

تحديث الملف

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

الطريقة: مشاركة

نوع المحتوى: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
طلب حمولة الجسم
اسم الخاصية يكتب وصف
idToken خيط رمز معرف مصادقة Firebase للمستخدم.
اسم العرض خيط اسم العرض الجديد للمستخدم.
photoUrl خيط عنوان URL الجديد للصورة الخاصة بالمستخدم.
deleteAttribute قائمة السلاسل قائمة السمات المطلوب حذفها، "DISPLAY_NAME" أو "PHOTO_URL". وهذا سوف يبطل هذه القيم.
returnSecureToken منطقية ما إذا كان سيتم إرجاع المعرف ورمز التحديث أم لا.
حمولة الاستجابة
اسم الخاصية يكتب وصف
المعرف المحلي خيط معرف المستخدم الحالي.
بريد إلكتروني خيط عنوان البريد الإلكتروني للمستخدم.
اسم العرض خيط اسم العرض الجديد للمستخدم.
photoUrl خيط عنوان URL الجديد للصورة الخاصة بالمستخدم.
com.passwordHash خيط نسخة التجزئة من كلمة المرور.
ProviderUserInfo قائمة كائنات JSON قائمة بجميع كائنات الموفر المرتبطة التي تحتوي على "providerId" و"federatedId".
idToken خيط رمز معرف مصادقة Firebase الجديد للمستخدم.
refreshToken خيط رمز تحديث مصادقة 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}'

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

استجابة العينة

{
  "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"
}

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

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

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

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

الطريقة: مشاركة

نوع المحتوى: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
طلب حمولة الجسم
اسم الخاصية يكتب وصف
idToken خيط رمز معرف Firebase للحساب.
حمولة الاستجابة
اسم الخاصية يكتب وصف
المستخدمين قائمة كائنات JSON الحساب المرتبط برمز Firebase ID المحدد. تحقق أدناه لمزيد من التفاصيل.
حمولة الاستجابة (محتوى مجموعة users )
اسم الخاصية يكتب وصف
المعرف المحلي خيط معرف المستخدم الحالي.
بريد إلكتروني خيط البريد الإلكتروني للحساب.
تم التحقق من البريد الإلكتروني منطقية ما إذا كان قد تم التحقق من البريد الإلكتروني للحساب أم لا.
اسم العرض خيط الاسم المعروض للحساب.
ProviderUserInfo قائمة كائنات JSON قائمة بجميع كائنات الموفر المرتبطة التي تحتوي على "providerId" و"federatedId".
photoUrl خيط رابط الصورة للحساب.
com.passwordHash خيط نسخة التجزئة من كلمة المرور.
كلمة المرور تم تحديثها مزدوج الطابع الزمني، بالمللي ثانية، الذي تم فيه تغيير كلمة مرور الحساب آخر مرة.
صالح منذ خيط الطابع الزمني، بالثواني، الذي يمثل الحد، والذي قبله يعتبر رمز Firebase ID ملغى.
عاجز منطقية سواء تم تعطيل الحساب أم لا.
lastLoginAt خيط الطابع الزمني، بالمللي ثانية، الذي تم فيه تسجيل الدخول إلى الحساب آخر مرة.
أنشئت في خيط الطابع الزمني، بالمللي ثانية، الذي تم إنشاء الحساب فيه.
customAuth منطقية ما إذا كان قد تم مصادقة الحساب من قبل المطور.

طلب عينة

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

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

استجابة العينة

{
  "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
    }
  ]
}

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

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

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

الطريقة: مشاركة

نوع المحتوى: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
طلب حمولة الجسم
اسم الخاصية يكتب وصف
idToken خيط رمز Firebase ID المميز للحساب الذي تحاول ربط بيانات الاعتماد به.
بريد إلكتروني خيط البريد الإلكتروني المراد ربطه بالحساب.
كلمة المرور خيط كلمة المرور الجديدة للحساب.
returnSecureToken خيط ما إذا كان سيتم إرجاع المعرف ورمز التحديث أم لا. ينبغي أن يكون صحيحا دائما.
حمولة الاستجابة
اسم الخاصية يكتب وصف
المعرف المحلي خيط معرف المستخدم الحالي.
بريد إلكتروني خيط البريد الإلكتروني للحساب.
اسم العرض خيط الاسم المعروض للحساب.
photoUrl خيط رابط الصورة للحساب.
com.passwordHash خيط نسخة التجزئة من كلمة المرور.
ProviderUserInfo قائمة كائنات JSON قائمة بجميع كائنات الموفر المرتبطة التي تحتوي على "providerId" و"federatedId".
تم التحقق من البريد الإلكتروني منطقية ما إذا كان قد تم التحقق من البريد الإلكتروني للحساب أم لا.
idToken خيط رمز معرف مصادقة Firebase الجديد للمستخدم.
refreshToken خيط رمز تحديث مصادقة 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}'

تتم الإشارة إلى الطلب الناجح من خلال رمز حالة HTTP 200 OK . تحتوي الاستجابة على رمز معرف 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: لم تعد بيانات اعتماد المستخدم صالحة. يجب على المستخدم تسجيل الدخول مرة أخرى.
  • INVALID_ID_TOKEN:بيانات اعتماد المستخدم لم تعد صالحة. يجب على المستخدم تسجيل الدخول مرة أخرى.
  • WEAK_PASSWORD: يجب أن تتكون كلمة المرور من 6 أحرف أو أكثر.

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

الطريقة: مشاركة

نوع المحتوى: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
طلب حمولة الجسم
اسم الخاصية يكتب وصف
idToken خيط رمز Firebase ID المميز للحساب الذي تحاول ربط بيانات الاعتماد به.
requestUri خيط معرف URI الذي يقوم IDP بإعادة توجيه المستخدم إليه مرة أخرى.
postBody خيط يحتوي على بيانات اعتماد OAuth (رمز معرف أو رمز وصول) ومعرف الموفر الذي يصدر بيانات الاعتماد.
returnSecureToken منطقية ما إذا كان سيتم إرجاع المعرف ورمز التحديث أم لا. ينبغي أن يكون صحيحا دائما.
returnIdpCredential منطقية ما إذا كان سيتم فرض إرجاع بيانات اعتماد OAuth على الأخطاء التالية: FEDERATED_USER_ID_ALREADY_LINKED وEMAIL_EXISTS.
حمولة الاستجابة
اسم الخاصية يكتب وصف
federatedId خيط يحدد المعرف الفريد حساب IdP.
معرف_الموفر خيط معرف الموفر المرتبط (على سبيل المثال، "google.com" لموفر Google).
المعرف المحلي خيط معرف المستخدم المصادق عليه.
تم التحقق من البريد الإلكتروني منطقية ما إذا كان قد تم التحقق من البريد الإلكتروني لتسجيل الدخول.
بريد إلكتروني خيط البريد الإلكتروني للحساب.
com.oauthIdToken خيط رمز معرف OIDC إذا كان متاحًا.
oauthAccessToken خيط رمز وصول OAuth إذا كان متاحًا.
oauthTokenSecret خيط سر رمز OAuth 1.0 إذا كان متاحًا.
معلومات المستخدم الخام خيط استجابة JSON المقسمة التي تحتوي على جميع بيانات IdP المطابقة لبيانات اعتماد OAuth المقدمة.
الاسم الأول خيط الاسم الأول للحساب.
اسم العائلة خيط الاسم الأخير للحساب.
الاسم الكامل خيط الاسم الكامل للحساب.
اسم العرض خيط الاسم المعروض للحساب.
photoUrl خيط رابط الصورة للحساب.
idToken خيط رمز معرف مصادقة Firebase للمستخدم الذي تمت مصادقته.
refreshToken خيط رمز تحديث Firebase Auth للمستخدم الذي تمت مصادقته.
ينتهي في خيط عدد الثواني التي تنتهي فيها صلاحية رمز التعريف.

نموذج طلب مع رمز معرف 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}'

تتم الإشارة إلى الطلب الناجح من خلال رمز حالة HTTP 200 OK . تحتوي الاستجابة على رمز معرف 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}'

تتم الإشارة إلى الطلب الناجح من خلال رمز حالة HTTP 200 OK . تحتوي الاستجابة على رمز معرف 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}'

تتم الإشارة إلى الطلب الناجح من خلال رمز حالة HTTP 200 OK . تحتوي الاستجابة على رمز معرف 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: تم تعطيل الموفر المقابل لهذا المشروع.
  • INVALID_IDP_RESPONSE: بيانات اعتماد المصادقة المقدمة غير صحيحة أو انتهت صلاحيتها.
  • INVALID_ID_TOKEN:بيانات اعتماد المستخدم لم تعد صالحة. يجب على المستخدم تسجيل الدخول مرة أخرى.
  • EMAIL_EXISTS: عنوان البريد الإلكتروني قيد الاستخدام بالفعل من قبل حساب آخر.
  • FEDERATED_USER_ID_ALREADY_LINKED: بيانات الاعتماد هذه مرتبطة بالفعل بحساب مستخدم مختلف.

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

الطريقة: مشاركة

نوع المحتوى: application/json

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

طلب عينة

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]"]}'

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

استجابة العينة

{
  "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"
}

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

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

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

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

الطريقة: مشاركة

نوع المحتوى: application/json

نقطة النهاية
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
رؤوس اختيارية
اسم الخاصية وصف
X-Firebase-اللغة رمز اللغة المتوافق مع لغة المستخدم. سيؤدي تمرير هذا إلى ترجمة التحقق من البريد الإلكتروني المرسل إلى المستخدم.
طلب حمولة الجسم
اسم الخاصية يكتب وصف
نوع الطلب خيط نوع رمز التأكيد المراد إرساله. يجب أن يكون دائمًا "VERIFY_EMAIL".
idToken خيط رمز معرف 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]"}'

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

استجابة العينة

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

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

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

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

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

الطريقة: مشاركة

نوع المحتوى: application/json

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

طلب عينة

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

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

استجابة العينة

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

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

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

حذف الحساب

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

الطريقة: مشاركة

نوع المحتوى: application/json

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

طلب عينة

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

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

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

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

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

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

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

إزالة كافة الحسابات في المشروع المحدد، بغض النظر عن الحالة.

الطريقة: حذف

نقطة النهاية

لاحظ أن 9099 هو المنفذ الافتراضي لمحاكي المصادقة. تحقق من إخراج المحطة الطرفية لمعرفة المنفذ الفعلي المستخدم.

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

الحصول على تكوين المحاكي

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

الطريقة: احصل على

نقطة النهاية

لاحظ أن 9099 هو المنفذ الافتراضي لمحاكي المصادقة. تحقق من إخراج المحطة الطرفية لمعرفة المنفذ الفعلي المستخدم.

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

تكوين محاكي التصحيح

قم بتحديث التكوين الخاص بالمحاكي للمشروع المحدد.

الطريقة: التصحيح

نقطة النهاية

لاحظ أن 9099 هو المنفذ الافتراضي لمحاكي المصادقة. تحقق من إخراج المحطة الطرفية لمعرفة المنفذ الفعلي المستخدم.

نوع المحتوى: application/json

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

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

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

الطريقة: احصل على

نقطة النهاية

لاحظ أن 9099 هو المنفذ الافتراضي لمحاكي المصادقة. تحقق من إخراج المحطة الطرفية لمعرفة المنفذ الفعلي المستخدم.

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

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

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

الطريقة: احصل على

نقطة النهاية

لاحظ أن 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"
  }
}

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