Firebase Auth REST API

استفاده از API

می‌توانید از طریق یک REST API از Firebase Auth درخواست کنید. این می تواند برای عملیات های مختلفی مانند ایجاد کاربران جدید، ورود به سیستم های موجود و ویرایش یا حذف این کاربران استفاده شود.

در سراسر این سند، API_KEY به کلید Web API اشاره دارد که می‌توانید آن را در صفحه تنظیمات پروژه در کنسول مدیریت خود دریافت کنید.

رمز سفارشی را برای شناسه مبادله کنید و توکن تازه سازی کنید

می‌توانید با ارسال یک درخواست HTTP POST به نقطه پایانی Auth verifyCustomToken ، یک نشانه Auth سفارشی را با یک شناسه مبادله کنید و رمز را به‌روزرسانی کنید.

روش: POST

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

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
درخواست بار بدنه
نام ملک تایپ کنید شرح
نشانه رشته یک توکن سفارشی Firebase Auth که از آن می‌توان یک شناسه ایجاد کرد و جفت توکن تازه‌سازی کرد.
returnSecureToken بولی اینکه آیا شناسه و رمز بازگردانی شود یا نه. همیشه باید درست باشد
بار پاسخگویی
نام ملک تایپ کنید شرح
idToken رشته یک نشانه Firebase Auth ID تولید شده از توکن سفارشی ارائه شده.
refreshToken رشته یک نشانه تازه‌سازی Firebase Auth که از توکن سفارشی ارائه شده ایجاد شده است.
منقضی می شود رشته تعداد ثانیه هایی که رمز ID منقضی می شود.

نمونه درخواست

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 دیگری است.

یک نشانه رفرش را با یک نشانه شناسه مبادله کنید

می توانید با صدور درخواست POST HTTP به نقطه پایانی securetoken.googleapis.com ، یک نشانه شناسه Firebase را تازه کنید.

روش: POST

نوع محتوا: برنامه کاربردی/x-www-form-urlencoded

Endpoint
https://securetoken.googleapis.com/v1/token?key=[API_KEY]
درخواست Body Payload
نام ملک تایپ کنید شرح
نوع_گرنت رشته نوع اعطای نشانه refresh، همیشه "refresh_token".
refresh_token رشته نشانه بازخوانی Firebase Auth.
بار پاسخگویی
نام ملک تایپ کنید شرح
expires_in رشته تعداد ثانیه هایی که رمز ID منقضی می شود.
token_type رشته نوع نشانه رفرش، همیشه "حامل".
refresh_token رشته کد بازخوانی Firebase Auth ارائه شده در درخواست یا یک نشانه تازه‌سازی جدید.
id_token رشته یک نشانه Firebase Auth ID.
شناسه کاربر رشته uid مربوط به کد شناسه ارائه شده.
پروژه_id رشته شناسه پروژه 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 به نقطه پایانی Auth signupNewUser یک کاربر ایمیل و رمز عبور جدید ایجاد کنید.

روش: POST

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

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
درخواست Body Payload
نام ملک تایپ کنید شرح
پست الکترونیک رشته ایمیلی که کاربر باید ایجاد کند.
کلمه عبور رشته رمز عبور برای ایجاد کاربر
returnSecureToken بولی اینکه آیا شناسه و رمز بازگردانی شود یا نه. همیشه باید درست باشد
بار پاسخگویی
نام ملک تایپ کنید شرح
idToken رشته یک نشانه Firebase Auth ID برای کاربر تازه ایجاد شده.
پست الکترونیک رشته ایمیل برای کاربر تازه ایجاد شده.
refreshToken رشته یک نشانه تازه سازی Firebase Auth برای کاربر تازه ایجاد شده.
منقضی می شود رشته تعداد ثانیه هایی که رمز ID منقضی می شود.
localId رشته uid کاربر تازه ایجاد شده.

نمونه درخواست

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 ، کاربر را با ایمیل و رمز عبور وارد کنید.

روش: POST

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

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
درخواست Body Payload
نام ملک تایپ کنید شرح
پست الکترونیک رشته ایمیلی که کاربر با آن وارد سیستم می شود.
کلمه عبور رشته رمز عبور حساب
returnSecureToken بولی اینکه آیا شناسه و رمز بازگردانی شود یا نه. همیشه باید درست باشد
بار پاسخگویی
نام ملک تایپ کنید شرح
idToken رشته یک نشانه Firebase Auth ID برای کاربر احراز هویت شده.
پست الکترونیک رشته ایمیل برای کاربر تایید شده
refreshToken رشته یک نشانه بازخوانی Firebase Auth برای کاربر احراز هویت شده.
منقضی می شود رشته تعداد ثانیه هایی که رمز ID منقضی می شود.
localId رشته uid کاربر احراز هویت شده
ثبت شده است بولی آیا ایمیل مربوط به یک حساب موجود است.

نمونه درخواست

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 به نقطه پایانی Auth signupNewUser ، می توانید به صورت ناشناس وارد یک کاربر شوید.

روش: POST

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

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
درخواست Body Payload
نام ملک تایپ کنید شرح
returnSecureToken بولی اینکه آیا شناسه و رمز بازگردانی شود یا نه. همیشه باید درست باشد
بار پاسخگویی
نام ملک تایپ کنید شرح
idToken رشته یک نشانه Firebase Auth ID برای کاربر تازه ایجاد شده.
پست الکترونیک رشته از آنجایی که کاربر ناشناس است، باید خالی باشد.
refreshToken رشته یک نشانه تازه سازی Firebase Auth برای کاربر تازه ایجاد شده.
منقضی می شود رشته تعداد ثانیه هایی که رمز ID منقضی می شود.
localId رشته uid کاربر تازه ایجاد شده.

نمونه درخواست

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

یک درخواست موفقیت آمیز با یک کد وضعیت HTTP 200 OK نشان داده می شود. پاسخ شامل کد Firebase ID و نشانه رفرش مرتبط با کاربر ناشناس است.

نمونه پاسخ

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

کدهای خطای رایج

  • OPERATION_NOT_ALLOWED: ورود کاربر ناشناس برای این پروژه غیرفعال است.

با اعتبار OAuth وارد شوید

می‌توانید با ارسال یک درخواست HTTP POST به نقطه پایانی Auth verifyAssertion ، به کاربری با اعتبار OAuth وارد شوید.

روش: POST

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

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
درخواست Body Payload
نام ملک تایپ کنید شرح
درخواستUri رشته URI که IDP کاربر را به آن هدایت می کند.
پست بدن رشته حاوی اعتبارنامه OAuth (یک نشانه شناسه یا نشانه دسترسی) و شناسه ارائه دهنده که اعتبارنامه را صادر می کند.
returnSecureToken بولی اینکه آیا شناسه و رمز بازگردانی شود یا نه. همیشه باید درست باشد
returnIdpCredential بولی آیا بازگرداندن اعتبار OAuth در خطاهای زیر الزامی است: FEDERATED_USER_ID_ALREADY_LINKED و EMAIL_EXISTS.
بار پاسخگویی
نام ملک تایپ کنید شرح
فدرال شناسه رشته شناسه منحصر به فرد حساب IdP را مشخص می کند.
شناسه ارائه دهنده رشته شناسه ارائه‌دهنده مرتبط (مثلاً «google.com» برای ارائه‌دهنده Google).
localId رشته uid کاربر احراز هویت شده
ایمیل تأییده شده است بولی آیا ایمیل ورود به سیستم تأیید شده است یا خیر.
پست الکترونیک رشته ایمیل اکانت.
oauthIdToken رشته نشانه شناسه OIDC در صورت موجود بودن.
oauthAccessToken رشته نشانه دسترسی OAuth در صورت وجود.
oauthTokenSecret رشته رمز رمز OAuth 1.0 در صورت موجود بودن.
rawUserInfo رشته پاسخ JSON رشته ای حاوی تمام داده های IdP مربوط به اعتبارنامه OAuth ارائه شده.
نام کوچک رشته نام اول برای حساب.
نام خانوادگی رشته نام خانوادگی برای حساب.
نام و نام خانوادگی رشته نام کامل حساب
نمایش نام رشته نام نمایشی حساب
آدرس اینترنتی عکس رشته آدرس عکس برای حساب.
idToken رشته یک نشانه Firebase Auth ID برای کاربر احراز هویت شده.
refreshToken رشته یک نشانه بازخوانی Firebase Auth برای کاربر احراز هویت شده.
منقضی می شود رشته تعداد ثانیه هایی که رمز ID منقضی می شود.
نیاز به تایید بولی آیا حساب دیگری با همان اعتبار قبلاً وجود دارد یا خیر. کاربر باید به حساب اصلی وارد شود و سپس اعتبار فعلی را به آن پیوند دهد.

نمونه درخواست با کد OAuth ID

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 ID و نشانه تازه سازی مرتبط با کاربر احراز هویت شده است.

نمونه پاسخ با کد OAuth ID

{
  "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 ID و نشانه تازه سازی مرتبط با کاربر احراز هویت شده است.

نمونه پاسخ با نشانه دسترسی 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 ID و نشانه تازه سازی مرتبط با کاربر احراز هویت شده است.

نمونه پاسخ با اعتبار 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 ، به همه ارائه‌دهندگان مرتبط با یک ایمیل مشخص نگاه کنید.

روش: POST

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

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
درخواست Body Payload
نام ملک تایپ کنید شرح
مشخص کننده رشته آدرس ایمیل کاربر
ادامه Uri رشته 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]"}'

یک درخواست موفقیت آمیز با یک کد وضعیت HTTP 200 OK نشان داده می شود. پاسخ حاوی لیستی از ارائه دهندگان مرتبط با ایمیل است.

نمونه پاسخ

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

کدهای خطای رایج

  • INVALID_EMAIL: آدرس ایمیل بد قالب بندی شده است.

ایمیل بازنشانی رمز عبور را ارسال کنید

می توانید با ارسال یک درخواست HTTP POST به نقطه پایانی Auth getOobConfirmationCode یک ایمیل بازنشانی رمز عبور ارسال کنید.

روش: POST

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

نقطه پایانی
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
سرصفحه اختیاری
نام ملک شرح
X-Firebase-Locale کد زبان مربوط به منطقه کاربر. با عبور از این، ایمیل بازنشانی رمز عبور ارسال شده به کاربر بومی سازی می شود.
بار بدنه را درخواست کنید
نام ملک تایپ کنید شرح
نوع درخواست رشته نوع کد 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 به نقطه پایانی Auth resetPassword تأیید کنید.

روش: POST

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

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
درخواست Body Payload
نام ملک تایپ کنید شرح
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 به نقطه پایانی Auth resetPassword ، تغییر بازنشانی رمز عبور را اعمال کنید.

روش: POST

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

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
درخواست Body Payload
نام ملک تایپ کنید شرح
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 تغییر دهید.

روش: POST

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

نقطه پایانی
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
سرصفحه اختیاری
نام ملک شرح
X-Firebase-Locale کد زبان مربوط به منطقه کاربر. با تصویب این، لغو تغییر ایمیل ارسال شده به کاربر بومی سازی می شود.
بار بدنه را درخواست کنید
نام ملک تایپ کنید شرح
idToken رشته یک نشانه Firebase Auth ID برای کاربر.
پست الکترونیک رشته ایمیل جدید کاربر.
returnSecureToken بولی اینکه آیا شناسه و رمز بازگردانی شود یا نه.
بار پاسخگویی
نام ملک تایپ کنید شرح
localId رشته uid کاربر فعلی.
پست الکترونیک رشته آدرس ایمیل کاربر.
رمز عبور هش رشته نسخه هش رمز عبور.
ارائه دهندهUserInfo لیست اشیاء JSON فهرست تمام اشیاء ارائه‌دهنده مرتبط که حاوی «providerId» و «federatedId» هستند.
idToken رشته کد جدید Firebase Auth ID برای کاربر.
refreshToken رشته نشانه بازخوانی Firebase Auth.
منقضی می شود رشته تعداد ثانیه هایی که رمز ID منقضی می شود.

نمونه درخواست

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 تغییر دهید.

روش: POST

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

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
درخواست Body Payload
نام ملک تایپ کنید شرح
idToken رشته یک نشانه Firebase Auth ID برای کاربر.
کلمه عبور رشته رمز عبور جدید کاربر
returnSecureToken بولی اینکه آیا شناسه و رمز بازگردانی شود یا نه.
بار پاسخگویی
نام ملک تایپ کنید شرح
localId رشته uid کاربر فعلی.
پست الکترونیک رشته آدرس ایمیل کاربر.
رمز عبور هش رشته نسخه هش رمز عبور.
ارائه دهندهUserInfo لیست اشیاء JSON فهرست تمام اشیاء ارائه‌دهنده مرتبط که حاوی «providerId» و «federatedId» هستند.
idToken رشته کد جدید Firebase Auth ID برای کاربر.
refreshToken رشته نشانه بازخوانی Firebase Auth.
منقضی می شود رشته تعداد ثانیه هایی که رمز ID منقضی می شود.

نمونه درخواست

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 به‌روزرسانی کنید.

روش: POST

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

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
درخواست Body Payload
نام ملک تایپ کنید شرح
idToken رشته یک نشانه Firebase Auth ID برای کاربر.
نمایش نام رشته نام نمایشی جدید کاربر
آدرس اینترنتی عکس رشته آدرس عکس جدید کاربر.
حذف ویژگی لیست رشته ها فهرست ویژگی‌های حذف، «DISPLAY_NAME» یا «PHOTO_URL». این مقادیر را باطل می کند.
returnSecureToken بولی اینکه آیا شناسه و رمز بازگردانی شود یا نه.
بار پاسخگویی
نام ملک تایپ کنید شرح
localId رشته uid کاربر فعلی.
پست الکترونیک رشته آدرس ایمیل کاربر.
نمایش نام رشته نام نمایشی جدید کاربر
آدرس اینترنتی عکس رشته آدرس عکس جدید کاربر.
رمز عبور هش رشته نسخه هش رمز عبور.
ارائه دهندهUserInfo لیست اشیاء JSON فهرست تمام اشیاء ارائه‌دهنده مرتبط که حاوی «providerId» و «federatedId» هستند.
idToken رشته کد جدید Firebase Auth ID برای کاربر.
refreshToken رشته نشانه بازخوانی Firebase Auth.
منقضی می شود رشته تعداد ثانیه هایی که رمز ID منقضی می شود.

نمونه درخواست

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 ، داده‌های کاربر را دریافت کنید.

روش: POST

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

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
درخواست Body Payload
نام ملک تایپ کنید شرح
idToken رشته رمز Firebase ID حساب.
بار پاسخگویی
نام ملک تایپ کنید شرح
کاربران لیست اشیاء JSON حساب مرتبط با کد Firebase ID داده شده. برای جزئیات بیشتر زیر را بررسی کنید.
بار پاسخگویی (محتوای آرایه users )
نام ملک تایپ کنید شرح
localId رشته uid کاربر فعلی.
پست الکترونیک رشته ایمیل اکانت.
ایمیل تأییده شده است بولی آیا ایمیل حساب تأیید شده است یا خیر.
نمایش نام رشته نام نمایشی حساب
ارائه دهندهUserInfo لیست اشیاء JSON فهرست تمام اشیاء ارائه‌دهنده مرتبط که حاوی «providerId» و «federatedId» هستند.
آدرس اینترنتی عکس رشته آدرس عکس برای حساب.
رمز عبور هش رشته نسخه هش رمز عبور.
رمز عبور به روز شده در دو برابر مهر زمانی، بر حسب میلی ثانیه، آخرین تغییر رمز عبور حساب کاربری.
معتبراز رشته مهر زمانی، بر حسب ثانیه، که مرزی را مشخص می‌کند که قبل از آن، کد 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 ، یک ایمیل/گذرواژه را به کاربر فعلی پیوند دهید.

روش: POST

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

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
درخواست Body Payload
نام ملک تایپ کنید شرح
idToken رشته نشانه Firebase ID حسابی که می‌خواهید اعتبارنامه را به آن پیوند دهید.
پست الکترونیک رشته ایمیل برای پیوند به حساب.
کلمه عبور رشته رمز جدید اکانت.
returnSecureToken رشته اینکه آیا شناسه و رمز بازگردانی شود یا نه. همیشه باید درست باشد
بار پاسخگویی
نام ملک تایپ کنید شرح
localId رشته uid کاربر فعلی.
پست الکترونیک رشته ایمیل اکانت.
نمایش نام رشته نام نمایشی حساب
آدرس اینترنتی عکس رشته آدرس عکس برای حساب.
رمز عبور هش رشته نسخه هش رمز عبور.
ارائه دهندهUserInfo لیست اشیاء JSON فهرست تمام اشیاء ارائه‌دهنده مرتبط که حاوی «providerId» و «federatedId» هستند.
ایمیل تأییده شده است بولی آیا ایمیل حساب تأیید شده است یا خیر.
idToken رشته کد جدید Firebase Auth ID برای کاربر.
refreshToken رشته نشانه بازخوانی Firebase Auth.
منقضی می شود رشته تعداد ثانیه هایی که رمز ID منقضی می شود.

نمونه درخواست

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 ID و نشانه تازه سازی مرتبط با کاربر احراز هویت شده است.

نمونه پاسخ

{
  "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 به یک کاربر پیوند دهید.

روش: POST

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

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
درخواست Body Payload
نام ملک تایپ کنید شرح
idToken رشته نشانه Firebase ID حسابی که می‌خواهید اعتبارنامه را به آن پیوند دهید.
درخواستUri رشته URI که IDP کاربر را به آن هدایت می کند.
پست بدن رشته حاوی اعتبارنامه OAuth (یک نشانه شناسه یا نشانه دسترسی) و شناسه ارائه دهنده که اعتبارنامه را صادر می کند.
returnSecureToken بولی اینکه آیا شناسه و رمز بازگردانی شود یا نه. همیشه باید درست باشد
returnIdpCredential بولی آیا بازگرداندن اعتبار OAuth در خطاهای زیر الزامی است: FEDERATED_USER_ID_ALREADY_LINKED و EMAIL_EXISTS.
بار پاسخگویی
نام ملک تایپ کنید شرح
فدرال شناسه رشته شناسه منحصر به فرد حساب IdP را مشخص می کند.
شناسه ارائه دهنده رشته شناسه ارائه‌دهنده مرتبط (مثلاً «google.com» برای ارائه‌دهنده Google).
localId رشته uid کاربر احراز هویت شده
ایمیل تأییده شده است بولی آیا ایمیل ورود به سیستم تأیید شده است یا خیر.
پست الکترونیک رشته ایمیل اکانت.
oauthIdToken رشته نشانه شناسه OIDC در صورت موجود بودن.
oauthAccessToken رشته نشانه دسترسی OAuth در صورت وجود.
oauthTokenSecret رشته رمز رمز OAuth 1.0 در صورت موجود بودن.
rawUserInfo رشته پاسخ JSON رشته ای حاوی تمام داده های IdP مربوط به اعتبارنامه OAuth ارائه شده.
نام کوچک رشته نام اول برای حساب.
نام خانوادگی رشته نام خانوادگی برای حساب.
نام و نام خانوادگی رشته نام کامل حساب
نمایش نام رشته نام نمایشی حساب
آدرس اینترنتی عکس رشته آدرس عکس برای حساب.
idToken رشته یک نشانه Firebase Auth ID برای کاربر احراز هویت شده.
refreshToken رشته یک نشانه بازخوانی Firebase Auth برای کاربر احراز هویت شده.
منقضی می شود رشته تعداد ثانیه هایی که رمز ID منقضی می شود.

نمونه درخواست با کد OAuth ID

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 ID و نشانه تازه سازی مرتبط با کاربر احراز هویت شده است.

نمونه پاسخ با کد OAuth ID

{
  "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 ID و نشانه تازه سازی مرتبط با کاربر احراز هویت شده است.

نمونه پاسخ با نشانه دسترسی 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 ID و نشانه تازه سازی مرتبط با کاربر احراز هویت شده است.

نمونه پاسخ با اعتبار 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 ، پیوند ارائه‌دهنده را با کاربر فعلی لغو کنید.

روش: POST

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

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
درخواست Body Payload
نام ملک تایپ کنید شرح
idToken رشته رمز Firebase ID حساب.
حذف ارائه دهنده لیست رشته ها فهرست شناسه‌های ارائه‌دهنده برای لغو پیوند، به عنوان مثال: «google.com»، «گذرواژه» و غیره.
بار پاسخگویی
نام ملک تایپ کنید شرح
localId رشته uid کاربر فعلی.
پست الکترونیک رشته ایمیل اکانت.
نمایش نام رشته نام نمایشی حساب
آدرس اینترنتی عکس رشته آدرس عکس برای حساب.
رمز عبور هش رشته نسخه هش رمز عبور.
ارائه دهندهUserInfo لیست اشیاء 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 ، یک تأیید ایمیل برای کاربر فعلی ارسال کنید.

روش: POST

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

نقطه پایانی
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
سرصفحه اختیاری
نام ملک شرح
X-Firebase-Locale کد زبان مربوط به منطقه کاربر. با تصویب این، تأیید ایمیل ارسال شده به کاربر بومی سازی می شود.
بار بدنه را درخواست کنید
نام ملک تایپ کنید شرح
نوع درخواست رشته نوع کد تایید برای ارسال. همیشه باید "VERIFY_EMAIL" باشد.
idToken رشته کد Firebase ID کاربر برای تأیید.
بار پاسخگویی
نام ملک تایپ کنید شرح
پست الکترونیک رشته ایمیل اکانت.

نمونه درخواست

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 تأیید کنید.

روش: POST

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

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
درخواست Body Payload
نام ملک تایپ کنید شرح
oobCode رشته کد اقدام برای تأیید ایمیل کاربر به ایمیل کاربر ارسال می شود.
بار پاسخگویی
نام ملک تایپ کنید شرح
پست الکترونیک رشته ایمیل اکانت.
نمایش نام رشته نام نمایشی حساب
آدرس اینترنتی عکس رشته آدرس عکس برای حساب.
رمز عبور هش رشته هش رمز عبور.
ارائه دهندهUserInfo لیست اشیاء 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 به نقطه پایانی Auth deleteAccount حذف کنید.

روش: POST

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

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
درخواست Body Payload
نام ملک تایپ کنید شرح
idToken رشته کد Firebase ID کاربر برای حذف.
بار پاسخگویی
نام ملک تایپ کنید شرح

نمونه درخواست

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 شامل یک شبیه ساز احراز هویت است که می تواند برای نمونه سازی محلی و آزمایش جریان های احراز هویت استفاده شود. شبیه ساز نقاط پایانی REST زیر را نشان می دهد.

پاک کردن حساب های کاربری

تمام حساب های موجود در پروژه مشخص شده را بدون توجه به وضعیت حذف کنید.

روش: DELETE

نقطه پایانی

توجه داشته باشید که 9099 پورت پیش فرض برای شبیه ساز Authentication است. خروجی ترمینال را برای پورت واقعی مورد استفاده بررسی کنید.

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

پیکربندی شبیه ساز را دریافت کنید

پیکربندی مخصوص شبیه ساز را برای پروژه مشخص شده دریافت کنید.

روش: GET

نقطه پایانی

توجه داشته باشید که 9099 پورت پیش فرض برای شبیه ساز Authentication است. خروجی ترمینال را برای پورت واقعی مورد استفاده بررسی کنید.

http://localhost:9099/emulator/v1/projects/{project-id}/config
بار پاسخگویی
نام ملک تایپ کنید شرح
ورود هدف - شی شی پیکربندی signIn حاوی یک کلید واحد، allowDuplicateEmails (بولی).

پیکربندی شبیه ساز پچ

پیکربندی خاص شبیه ساز را برای پروژه مشخص شده به روز کنید.

روش: پچ

نقطه پایانی

توجه داشته باشید که 9099 پورت پیش فرض برای شبیه ساز Authentication است. خروجی ترمینال را برای پورت واقعی مورد استفاده بررسی کنید.

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

http://localhost:9099/emulator/v1/projects/{project-id}/config
درخواست Body Payload
نام ملک تایپ کنید شرح
ورود هدف - شی شیء پیکربندی signIn مورد نظر با یک کلید، allowDuplicateEmails (بولی).
بار پاسخگویی
نام ملک تایپ کنید شرح
ورود هدف - شی شیء پیکربندی signIn پس از درخواست با یک کلید، allowDuplicateEmails (بولی).

کدهای احراز هویت خارج از باند را بازیابی کنید

اگر جریان‌های احراز هویتی که آزمایش می‌کنید معمولاً کدهای خارج از باند تولید می‌کنند (مثلاً کدهای تأیید ایمیل، کدهای بازنشانی رمز عبور)، شبیه‌ساز چنین کدهایی را تا زمانی که استفاده شوند در داخل ذخیره می‌کند.

روش: GET

نقطه پایانی

توجه داشته باشید که 9099 پورت پیش فرض برای شبیه ساز Authentication است. خروجی ترمینال را برای پورت واقعی مورد استفاده بررسی کنید.

http://localhost:9099/emulator/v1/projects/{project-id}/oobCodes
بار پاسخگویی
نام ملک تایپ کنید شرح
oobCodes آرایه آرایه ای از اشیاء حاوی جزئیات همه کدهای تأیید در انتظار. هر شی شامل email (رشته)، oobCode (رشته)، oobLink (رشته) و requestType (رشته) است.

کدهای تأیید پیامک را بازیابی کنید

اگر جریان‌های احراز هویت تلفن/پیامک را آزمایش می‌کنید، شبیه‌ساز چنین کدهای پیامکی را تا زمانی که استفاده شوند، در داخل ذخیره می‌کند.

روش: GET

نقطه پایانی

توجه داشته باشید که 9099 پورت پیش فرض برای شبیه ساز Authentication است. خروجی ترمینال را برای پورت واقعی مورد استفاده بررسی کنید.

http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodes
بار پاسخگویی
نام ملک تایپ کنید شرح
کدهای تایید آرایه آرایه ای از اشیاء حاوی جزئیات همه کدهای تأیید صحت معلق است. هر شی شامل phoneNumber (رشته) و sessionCode (رشته) است.

پاسخ به خطا

قالب پاسخ به خطا

هر زمان که خطایی از سرور پشتیبان برای هر یک از APIهای بالا برگردانده شود، پاسخ فرمت زیر را خواهد داشت.

نمونه پاسخ

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

کد خطا از قسمت پیام به دست می آید. همه کدهای خطای بالا به محتوای فیلد پیام اشاره دارند.