استفاده از API
میتوانید از طریق یک REST API از Firebase Auth درخواست کنید. این می تواند برای عملیات های مختلفی مانند ایجاد کاربران جدید، ورود به سیستم های موجود و ویرایش یا حذف این کاربران استفاده شود.
در سراسر این سند، API_KEY
به کلید Web API اشاره دارد که میتوانید آن را در صفحه تنظیمات پروژه در کنسول مدیریت خود دریافت کنید.
رمز سفارشی را برای شناسه مبادله کنید و توکن تازه سازی کنید
میتوانید با ارسال یک درخواست HTTP POST
به نقطه پایانی Auth verifyCustomToken
، یک نشانه Auth سفارشی را با یک شناسه مبادله کنید و رمز را بهروزرسانی کنید.
روش: POST
نوع محتوا: application/json
Endpointhttps://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
Endpointhttps://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
Endpointhttps://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
Endpointhttps://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
Endpointhttps://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
Endpointhttps://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
Endpointhttps://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
Endpointhttps://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
Endpointhttps://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
Endpointhttps://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
Endpointhttps://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
Endpointhttps://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
Endpointhttps://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
میتوانید اعتبار OAuth را با ارسال یک درخواست HTTP POST
به نقطه پایانی Auth verifyAssertion
به یک کاربر پیوند دهید.
روش: POST
نوع محتوا: application/json
Endpointhttps://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
Endpointhttps://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
Endpointhttps://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
Endpointhttps://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" } }
کد خطا از قسمت پیام به دست می آید. همه کدهای خطای بالا به محتوای فیلد پیام اشاره دارند.