رابط والد مشترک برای Auth
و TenantAwareAuth
API.
امضا:
export declare abstract class BaseAuth
مواد و روش ها
روش | اصلاح کننده ها | شرح |
---|---|---|
createCustomToken (uid، توسعه دهنده ادعاها) | یک نشانه سفارشی Firebase (JWT) ایجاد میکند که میتواند به دستگاه مشتری بازگردانده شود تا از آن برای ورود به سیستم با متدهای signInWithCustomToken() SDK مشتری استفاده شود. (نمونههای آگاه مستاجر، شناسه مستاجر را نیز در توکن جاسازی میکنند.) برای نمونه کد و مستندات دقیق به ایجاد توکن های سفارشی مراجعه کنید. | |
createProviderConfig(config) | قولی را برمیگرداند که با AuthProviderConfig جدید ایجاد شده هنگام ایجاد پیکربندی ارائهدهنده جدید برطرف میشود. پشتیبانی ارائهدهنده SAML و OIDC به پلتفرم هویت Google Cloud (GCIP) نیاز دارد. برای کسب اطلاعات بیشتر درباره GCIP، از جمله قیمت و ویژگیها، به مستندات GCIP مراجعه کنید . | |
createSessionCookie (idToken، sessionCookieOptions) | یک کوکی جلسه Firebase جدید با گزینه های مشخص شده ایجاد می کند. رشته JWT ایجاد شده را می توان به عنوان کوکی جلسه سمت سرور با خط مشی کوکی سفارشی تنظیم کرد و برای مدیریت جلسه استفاده کرد. کوکی جلسه JWT دارای همان ادعای باربری است که توکن ID ارائه شده دارد. برای نمونه کد و مستندات دقیق به مدیریت کوکیهای جلسه مراجعه کنید. | |
createUser (خواص) | یک کاربر جدید ایجاد می کند. برای نمونه کد و مستندات دقیق به ایجاد کاربر مراجعه کنید. | |
deleteProviderConfig(providerId) | پیکربندی ارائه دهنده مربوط به شناسه ارائه دهنده ارسال شده را حذف می کند. اگر شناسه مشخص شده وجود نداشته باشد، یک خطای auth/configuration-not-found داده می شود. پشتیبانی ارائهدهنده SAML و OIDC به پلتفرم هویت Google Cloud (GCIP) نیاز دارد. برای کسب اطلاعات بیشتر درباره GCIP، از جمله قیمت و ویژگیها، به مستندات GCIP مراجعه کنید . | |
حذف کاربر (uid) | یک کاربر موجود را حذف می کند. برای نمونه کد و مستندات دقیق به حذف کاربر مراجعه کنید. | |
حذف کاربران (uids) | کاربران مشخص شده توسط uid های داده شده را حذف می کند. حذف یک کاربر غیر موجود خطایی ایجاد نمی کند (یعنی این روش بی قدرت است.) کاربران غیر موجود با موفقیت حذف شده اند و بنابراین در مقدار DeleteUsersResult.successCount محاسبه می شوند. فقط حداکثر 1000 شناسه ممکن است ارائه شود. اگر بیش از 1000 شناسه ارائه شود، این روش یک FirebaseAuthError ایجاد می کند. این API در حال حاضر در سرور به 1 QPS محدود شده است. اگر از این مقدار فراتر بروید، ممکن است با خطای فراتر از سهمیه مواجه شوید. بنابراین، اگر میخواهید بیش از 1000 کاربر را حذف کنید، ممکن است لازم باشد یک تاخیر اضافه کنید تا مطمئن شوید که از این حد فراتر نمیروید. | |
generateEmailVerificationLink (ایمیل، actionCodeSettings) | پیوند اقدام ایمیل خارج از باند را برای تأیید مالکیت کاربر بر ایمیل مشخص شده ایجاد می کند. شی ActionCodeSettings ارائه شده به عنوان یک آرگومان برای این روش، تعیین می کند که آیا پیوند باید توسط یک برنامه تلفن همراه یا مرورگر به همراه اطلاعات وضعیت اضافی برای ارسال در پیوند عمیق و غیره مدیریت شود یا خیر. | |
GenerationPasswordResetLink (ایمیل، actionCodeSettings) | پیوند اقدام ایمیل خارج از باند را برای بازنشانی رمز عبور کاربر ایجاد می کند. لینک برای کاربر با آدرس ایمیل مشخص شده ایجاد می شود. شیء اختیاری ActionCodeSettings تعیین می کند که آیا پیوند باید توسط یک برنامه تلفن همراه یا مرورگر مدیریت شود و اطلاعات وضعیت اضافی در پیوند عمیق و غیره ارسال شود. | |
GenerationSignInWithEmailLink(ایمیل، actionCodeSettings) | پیوند اقدام ایمیل خارج از باند را برای تأیید مالکیت کاربر بر ایمیل مشخص شده ایجاد می کند. شی ActionCodeSettings ارائه شده به عنوان یک آرگومان برای این روش، تعیین می کند که آیا پیوند باید توسط یک برنامه تلفن همراه یا مرورگر به همراه اطلاعات وضعیت اضافی برای ارسال در پیوند عمیق و غیره مدیریت شود یا خیر. | |
GenerifyVerifyAndChangeEmailLink(ایمیل، ایمیل جدید، actionCodeSettings) | یک پیوند اقدام ایمیلی خارج از باند برای تأیید مالکیت کاربر بر ایمیل مشخص شده ایجاد می کند. شی ActionCodeSettings ارائه شده به عنوان یک آرگومان برای این روش، تعیین می کند که آیا پیوند باید توسط یک برنامه تلفن همراه یا مرورگر به همراه اطلاعات وضعیت اضافی برای ارسال در پیوند عمیق و غیره مدیریت شود یا خیر. | |
getProviderConfig(providerId) | پیکربندی ارائه دهنده Auth را با شناسه ارائه شده جستجو می کند. وعده ای را برمی گرداند که با پیکربندی ارائه دهنده مطابق با شناسه ارائه دهنده مشخص شده حل می شود. اگر شناسه مشخص شده وجود نداشته باشد، یک خطای auth/configuration-not-found داده می شود. پشتیبانی ارائهدهنده SAML و OIDC به پلتفرم هویت Google Cloud (GCIP) نیاز دارد. برای کسب اطلاعات بیشتر درباره GCIP، از جمله قیمت و ویژگیها، به مستندات GCIP مراجعه کنید . | |
getUser(uid) | داده های کاربر مربوط به یک uid معین را برای کاربر دریافت می کند. برای نمونه کد و مستندات دقیق به بازیابی اطلاعات کاربر مراجعه کنید. | |
getUserByEmail (ایمیل) | داده های کاربر را برای کاربر مربوط به یک ایمیل داده شده دریافت می کند. برای نمونه کد و مستندات دقیق به بازیابی اطلاعات کاربر مراجعه کنید. | |
getUserByPhoneNumber (شماره تلفن) | داده های کاربر مربوط به یک شماره تلفن مشخص را برای کاربر دریافت می کند. شماره تلفن باید با مشخصات E.164 مطابقت داشته باشد. برای نمونه کد و مستندات دقیق به بازیابی اطلاعات کاربر مراجعه کنید. | |
getUserByProviderUid(providerId، uid) | داده های کاربر مربوط به شناسه ارائه دهنده داده شده را برای کاربر دریافت می کند. برای نمونه کد و مستندات دقیق به بازیابی اطلاعات کاربر مراجعه کنید. | |
getUsers (شناسه ها) | داده های کاربر مربوط به شناسه های مشخص شده را دریافت می کند. هیچ تضمینی برای سفارش وجود ندارد. به طور خاص، ورودی n در لیست نتایج تضمین نمی شود که با ورودی n در لیست پارامترهای ورودی مطابقت داشته باشد. فقط حداکثر 100 شناسه ممکن است ارائه شود. اگر بیش از 100 شناسه ارائه شود، این روش یک FirebaseAuthError ایجاد می کند. | |
importUsers (کاربران، گزینهها) | لیست ارائه شده از کاربران را به Firebase Auth وارد می کند. حداکثر 1000 کاربر مجاز به وارد کردن یک به یک هستند. هنگام وارد کردن کاربران با رمز عبور، UserImportOptions باید مشخص شود. این عملیات برای واردات انبوه بهینه شده است و بررسیهای مربوط به uid ، email و دیگر شناسههای منحصربهفرد را نادیده میگیرد که میتواند منجر به تکرار شود. | |
listProviderConfigs(گزینهها) | لیست تنظیمات ارائه دهنده موجود مطابق با فیلتر ارائه شده را برمی گرداند. حداکثر، 100 پیکربندی ارائه دهنده را می توان در یک زمان فهرست کرد. پشتیبانی ارائهدهنده SAML و OIDC به پلتفرم هویت Google Cloud (GCIP) نیاز دارد. برای کسب اطلاعات بیشتر درباره GCIP، از جمله قیمت و ویژگیها، به مستندات GCIP مراجعه کنید . | |
listUsers (maxResults، pageToken) | لیستی از کاربران (فقط یک دسته) را با اندازه maxResults که از افست مشخص شده توسط pageToken شروع می شود، بازیابی می کند. این برای بازیابی همه کاربران یک پروژه مشخص به صورت دسته ای استفاده می شود. فهرست همه کاربران را برای نمونه کد و مستندات دقیق ببینید. | |
revokeRefreshTokens(uid) | همه نشانههای تازهسازی را برای یک کاربر موجود لغو میکند. این API UserRecord.tokensValidAfterTime کاربر را به UTC فعلی به روز می کند. مهم است که سروری که روی آن فراخوانی می شود ساعت خود را به درستی تنظیم و هماهنگ کرده باشد. در حالی که این کار تمام جلسات را برای یک کاربر مشخص لغو میکند و هر کد شناسه جدید را برای جلسات موجود غیرفعال میکند، نشانههای ID موجود ممکن است تا زمان انقضای طبیعی خود (یک ساعت) فعال بمانند. برای تأیید اینکه نشانههای ID باطل شدهاند، از BaseAuth.verifyIdToken() استفاده کنید، جایی که checkRevoked روی true تنظیم شده است. | |
setCustomUserClaims (uid، CustomUserClaims) | ادعاهای برنامهنویس اضافی را بر روی یک کاربر موجود که توسط uid ارائه شده شناسایی شده است تنظیم میکند، که معمولاً برای تعریف نقشها و سطوح دسترسی کاربر استفاده میشود. این ادعاها باید به همه دستگاههایی که کاربر قبلاً به سیستم وارد شده است (پس از انقضای رمز یا زمانی که بهروزرسانی اجباری توکن است) و دفعه بعد که کاربر وارد سیستم میشود منتشر شود. اگر از یک نام ادعای OIDC رزرو شده استفاده شود (sub، iat، iss و غیره ) یک خطا پرتاب می شود. آنها بر روی رمز شناسه کاربر تأیید شده JWT تنظیم می شوند. برای نمونه کد و مستندات دقیق به تعریف نقش های کاربر و سطوح دسترسی مراجعه کنید. | |
updateProviderConfig(providerId، updatedConfig) | وعده ای را برمی گرداند که با AuthProviderConfig به روز شده مربوط به شناسه ارائه دهنده مشخص شده حل می شود. اگر شناسه مشخص شده وجود نداشته باشد، یک خطای auth/configuration-not-found داده می شود. پشتیبانی ارائهدهنده SAML و OIDC به پلتفرم هویت Google Cloud (GCIP) نیاز دارد. برای کسب اطلاعات بیشتر درباره GCIP، از جمله قیمت و ویژگیها، به مستندات GCIP مراجعه کنید . | |
updateUser (uid، خواص) | یک کاربر موجود را به روز می کند. برای نمونه کد و مستندات دقیق به به روز رسانی کاربر مراجعه کنید. | |
verifyIdToken(idToken، check Revoked) | یک نشانه Firebase ID (JWT) را تأیید می کند. اگر نشانه معتبر باشد، وعده با ادعاهای رمزگشایی شده محقق می شود. در غیر این صورت قول مردود است. اگر checkRevoked روی true تنظیم شده باشد، ابتدا بررسی کنید که آیا کاربر مربوطه غیرفعال است یا خیر. اگر بله، خطای auth/user-disabled داده می شود. اگر نه، بررسی میکند که آیا جلسه مربوط به کد ID لغو شده است یا خیر. اگر جلسه کاربر مربوطه باطل شد، یک خطای auth/id-token-revoked داده میشود. اگر مشخص نشده باشد چک اعمال نمی شود. برای نمونه کد و مستندات دقیق، به تأیید شناسه توکنها مراجعه کنید. | |
verifySessionCookie(sessionCookie، check Revoked) | یک کوکی جلسه Firebase را تأیید می کند. یک قول را با ادعاهای کوکی برمی گرداند. اگر کوکی تأیید نشد، قول را رد می کند. اگر checkRevoked روی true تنظیم شده باشد، ابتدا بررسی کنید که آیا کاربر مربوطه غیرفعال است یا خیر: اگر بله، یک خطای auth/user-disabled داده می شود. اگر نه، بررسی میکند که آیا جلسه مربوط به کوکی جلسه لغو شده است یا خیر. اگر جلسه کاربر مربوطه باطل شد، یک خطای auth/session-cookie-revoked پرتاب میشود. اگر مشخص نشده باشد بررسی انجام نمی شود. برای نمونه کد و مستندات دقیق به تأیید کوکیهای جلسه مراجعه کنید |
BaseAuth.createCustomToken()
یک نشانه سفارشی Firebase (JWT) ایجاد میکند که میتواند به دستگاه مشتری بازگردانده شود تا از آن برای ورود به سیستم با متدهای signInWithCustomToken()
SDK مشتری استفاده شود. (نمونههای آگاه مستاجر، شناسه مستاجر را نیز در توکن جاسازی میکنند.)
برای نمونه کد و مستندات دقیق به ایجاد توکن های سفارشی مراجعه کنید.
امضا:
createCustomToken(uid: string, developerClaims?: object): Promise<string>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
uid | رشته | uid برای استفاده به عنوان موضوع رمز سفارشی. |
ادعاهای توسعه دهنده | هدف - شی | ادعاهای اضافی اختیاری برای گنجاندن در محموله توکن سفارشی. |
برمی گرداند:
قول<رشته>
وعده ای که با یک توکن سفارشی برای uid
و محموله ارائه شده محقق شد.
BaseAuth.createProviderConfig()
قولی را برمیگرداند که با AuthProviderConfig
جدید ایجاد شده هنگام ایجاد پیکربندی ارائهدهنده جدید برطرف میشود.
پشتیبانی ارائهدهنده SAML و OIDC به پلتفرم هویت Google Cloud (GCIP) نیاز دارد. برای کسب اطلاعات بیشتر درباره GCIP، از جمله قیمت و ویژگیها، به مستندات GCIP مراجعه کنید .
امضا:
createProviderConfig(config: AuthProviderConfig): Promise<AuthProviderConfig>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
پیکربندی | AuthProviderConfig | پیکربندی ارائه دهنده برای ایجاد. |
برمی گرداند:
Promise< AuthProviderConfig >
وعده ای که با پیکربندی ارائه دهنده ایجاد شده حل می شود.
BaseAuth.createSessionCookie()
یک کوکی جلسه Firebase جدید با گزینه های مشخص شده ایجاد می کند. رشته JWT ایجاد شده را می توان به عنوان کوکی جلسه سمت سرور با خط مشی کوکی سفارشی تنظیم کرد و برای مدیریت جلسه استفاده کرد. کوکی جلسه JWT دارای همان ادعای باربری است که توکن ID ارائه شده دارد.
برای نمونه کد و مستندات دقیق به مدیریت کوکیهای جلسه مراجعه کنید.
امضا:
createSessionCookie(idToken: string, sessionCookieOptions: SessionCookieOptions): Promise<string>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
idToken | رشته | کد Firebase ID برای مبادله با کوکی جلسه. |
sessionCookieOptions | SessionCookieOptions | گزینه های کوکی جلسه که شامل مدت زمان جلسه سفارشی می شود. |
برمی گرداند:
قول<رشته>
وعده ای که با موفقیت با کوکی جلسه ایجاد شده حل می شود.
BaseAuth.createUser()
یک کاربر جدید ایجاد می کند.
برای نمونه کد و مستندات دقیق به ایجاد کاربر مراجعه کنید.
امضا:
createUser(properties: CreateRequest): Promise<UserRecord>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
خواص | CreateRequest | ویژگی هایی که باید روی رکورد کاربر جدید ایجاد شود. |
برمی گرداند:
قول< UserRecord >
وعده ای که با داده های کاربر مربوط به کاربر تازه ایجاد شده محقق شد.
BaseAuth.deleteProviderConfig()
پیکربندی ارائه دهنده مربوط به شناسه ارائه دهنده ارسال شده را حذف می کند. اگر شناسه مشخص شده وجود نداشته باشد، یک خطای auth/configuration-not-found
داده می شود.
پشتیبانی ارائهدهنده SAML و OIDC به پلتفرم هویت Google Cloud (GCIP) نیاز دارد. برای کسب اطلاعات بیشتر درباره GCIP، از جمله قیمت و ویژگیها، به مستندات GCIP مراجعه کنید .
امضا:
deleteProviderConfig(providerId: string): Promise<void>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
شناسه ارائه دهنده | رشته | شناسه ارائه دهنده مربوط به پیکربندی ارائه دهنده برای حذف. |
برمی گرداند:
قول<باطل>
قولی که با تکمیل شدن حل می شود.
BaseAuth.deleteUser()
یک کاربر موجود را حذف می کند.
برای نمونه کد و مستندات دقیق به حذف کاربر مراجعه کنید.
امضا:
deleteUser(uid: string): Promise<void>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
uid | رشته | uid مربوط به کاربر برای حذف. |
برمی گرداند:
قول<باطل>
یک وعده خالی که پس از حذف کاربر انجام می شود.
BaseAuth.deleteUsers()
کاربران مشخص شده توسط uid های داده شده را حذف می کند.
حذف یک کاربر غیر موجود خطایی ایجاد نمی کند (یعنی این روش بی قدرت است.) کاربران غیر موجود با موفقیت حذف شده اند و بنابراین در مقدار DeleteUsersResult.successCount
محاسبه می شوند.
فقط حداکثر 1000 شناسه ممکن است ارائه شود. اگر بیش از 1000 شناسه ارائه شود، این روش یک FirebaseAuthError ایجاد می کند.
این API در حال حاضر در سرور به 1 QPS محدود شده است. اگر از این مقدار فراتر بروید، ممکن است با خطای فراتر از سهمیه مواجه شوید. بنابراین، اگر میخواهید بیش از 1000 کاربر را حذف کنید، ممکن است لازم باشد یک تاخیر اضافه کنید تا مطمئن شوید که از این حد فراتر نمیروید.
امضا:
deleteUsers(uids: string[]): Promise<DeleteUsersResult>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
uids | رشته[] | uids مربوط به کاربران برای حذف. |
برمی گرداند:
Promise< DeleteUsersResult >
یک وعده که به تعداد کل حذفهای موفق/شکستخورده و همچنین آرایهای از خطاهایی که مربوط به حذفهای ناموفق است، حل میشود.
BaseAuth.generateEmailVerificationLink()
پیوند اقدام ایمیل خارج از باند را برای تأیید مالکیت کاربر بر ایمیل مشخص شده ایجاد می کند. شی ActionCodeSettings ارائه شده به عنوان یک آرگومان برای این روش، تعیین می کند که آیا پیوند باید توسط یک برنامه تلفن همراه یا مرورگر به همراه اطلاعات وضعیت اضافی برای ارسال در پیوند عمیق و غیره مدیریت شود یا خیر.
امضا:
generateEmailVerificationLink(email: string, actionCodeSettings?: ActionCodeSettings): Promise<string>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
پست الکترونیک | رشته | حساب ایمیل برای تأیید. |
actionCodeSettings | ActionCodeSettings | تنظیمات کد عمل اگر مشخص شده باشد، URL وضعیت/ادامه به عنوان پارامتر "continueUrl" در پیوند تأیید ایمیل تنظیم می شود. صفحه فرود تأیید ایمیل پیش فرض از این برای نمایش پیوندی برای بازگشت به برنامه در صورت نصب استفاده می کند. اگر actionCodeSettings مشخص نشده باشد، هیچ URL به URL اقدام اضافه نمی شود. URL وضعیت ارائه شده باید به دامنه ای تعلق داشته باشد که توسط توسعه دهنده در کنسول در لیست سفید قرار گرفته است. در غیر این صورت یک خطا پرتاب می شود. تغییر مسیرهای برنامه تلفن همراه تنها در صورتی قابل اعمال است که توسعهدهنده شرایط خدمات Firebase Dynamic Links را پیکربندی کرده و بپذیرد. نام بسته Android و شناسه بسته iOS فقط در صورتی رعایت می شوند که در پروژه Firebase Auth یکسان پیکربندی شده باشند. |
برمی گرداند:
قول<رشته>
قولی که با لینک تولید شده حل می شود.
مثال
var actionCodeSettings = {
url: 'https://www.example.com/cart?email=user@example.com&cartId=123',
iOS: {
bundleId: 'com.example.ios'
},
android: {
packageName: 'com.example.android',
installApp: true,
minimumVersion: '12'
},
handleCodeInApp: true,
dynamicLinkDomain: 'custom.page.link'
};
admin.auth()
.generateEmailVerificationLink('user@example.com', actionCodeSettings)
.then(function(link) {
// The link was successfully generated.
})
.catch(function(error) {
// Some error occurred, you can inspect the code: error.code
});
BaseAuth.generatePasswordResetLink()
پیوند اقدام ایمیل خارج از باند را برای بازنشانی رمز عبور کاربر ایجاد می کند. لینک برای کاربر با آدرس ایمیل مشخص شده ایجاد می شود. شیء اختیاری ActionCodeSettings تعیین می کند که آیا پیوند باید توسط یک برنامه تلفن همراه یا مرورگر مدیریت شود و اطلاعات وضعیت اضافی در پیوند عمیق و غیره ارسال شود.
امضا:
generatePasswordResetLink(email: string, actionCodeSettings?: ActionCodeSettings): Promise<string>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
پست الکترونیک | رشته | آدرس ایمیل کاربری که قرار است رمز عبور او بازنشانی شود. |
actionCodeSettings | ActionCodeSettings | تنظیمات کد عمل اگر مشخص شده باشد، URL وضعیت/ادامه به عنوان پارامتر "continueUrl" در پیوند بازنشانی رمز عبور تنظیم می شود. صفحه فرود تنظیم مجدد رمز عبور پیش فرض از این برای نمایش پیوندی برای بازگشت به برنامه در صورت نصب استفاده می کند. اگر actionCodeSettings مشخص نشده باشد، هیچ URL به URL اقدام اضافه نمی شود. URL وضعیت ارائه شده باید به دامنه ای تعلق داشته باشد که توسط توسعه دهنده در کنسول در لیست سفید قرار گرفته است. در غیر این صورت یک خطا پرتاب می شود. تغییر مسیرهای برنامه تلفن همراه تنها در صورتی قابل اعمال است که توسعهدهنده شرایط خدمات Firebase Dynamic Links را پیکربندی کرده و بپذیرد. نام بسته Android و شناسه بسته iOS فقط در صورتی رعایت می شوند که در پروژه Firebase Auth یکسان پیکربندی شده باشند. |
برمی گرداند:
قول<رشته>
قولی که با لینک تولید شده حل می شود.
مثال
var actionCodeSettings = {
url: 'https://www.example.com/?email=user@example.com',
iOS: {
bundleId: 'com.example.ios'
},
android: {
packageName: 'com.example.android',
installApp: true,
minimumVersion: '12'
},
handleCodeInApp: true,
dynamicLinkDomain: 'custom.page.link'
};
admin.auth()
.generatePasswordResetLink('user@example.com', actionCodeSettings)
.then(function(link) {
// The link was successfully generated.
})
.catch(function(error) {
// Some error occurred, you can inspect the code: error.code
});
BaseAuth.generateSignInWithEmailLink()
پیوند اقدام ایمیل خارج از باند را برای تأیید مالکیت کاربر بر ایمیل مشخص شده ایجاد می کند. شی ActionCodeSettings ارائه شده به عنوان یک آرگومان برای این روش، تعیین می کند که آیا پیوند باید توسط یک برنامه تلفن همراه یا مرورگر به همراه اطلاعات وضعیت اضافی برای ارسال در پیوند عمیق و غیره مدیریت شود یا خیر.
امضا:
generateSignInWithEmailLink(email: string, actionCodeSettings: ActionCodeSettings): Promise<string>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
پست الکترونیک | رشته | حساب ایمیل برای تأیید. |
actionCodeSettings | ActionCodeSettings | تنظیمات کد عمل اگر مشخص شده باشد، URL وضعیت/ادامه به عنوان پارامتر "continueUrl" در پیوند تأیید ایمیل تنظیم می شود. صفحه فرود تأیید ایمیل پیش فرض از این برای نمایش پیوندی برای بازگشت به برنامه در صورت نصب استفاده می کند. اگر actionCodeSettings مشخص نشده باشد، هیچ URL به URL اقدام اضافه نمی شود. URL وضعیت ارائه شده باید به دامنه ای تعلق داشته باشد که توسط توسعه دهنده در کنسول در لیست سفید قرار گرفته است. در غیر این صورت یک خطا پرتاب می شود. تغییر مسیرهای برنامه تلفن همراه تنها در صورتی قابل اعمال است که توسعهدهنده شرایط خدمات Firebase Dynamic Links را پیکربندی کرده و بپذیرد. نام بسته Android و شناسه بسته iOS فقط در صورتی رعایت می شوند که در پروژه Firebase Auth یکسان پیکربندی شده باشند. |
برمی گرداند:
قول<رشته>
قولی که با لینک تولید شده حل می شود.
مثال
var actionCodeSettings = {
url: 'https://www.example.com/cart?email=user@example.com&cartId=123',
iOS: {
bundleId: 'com.example.ios'
},
android: {
packageName: 'com.example.android',
installApp: true,
minimumVersion: '12'
},
handleCodeInApp: true,
dynamicLinkDomain: 'custom.page.link'
};
admin.auth()
.generateEmailVerificationLink('user@example.com', actionCodeSettings)
.then(function(link) {
// The link was successfully generated.
})
.catch(function(error) {
// Some error occurred, you can inspect the code: error.code
});
BaseAuth.generateVerifyAndChangeEmailLink()
یک پیوند اقدام ایمیلی خارج از باند برای تأیید مالکیت کاربر بر ایمیل مشخص شده ایجاد می کند. شی ActionCodeSettings ارائه شده به عنوان یک آرگومان برای این روش، تعیین می کند که آیا پیوند باید توسط یک برنامه تلفن همراه یا مرورگر به همراه اطلاعات وضعیت اضافی برای ارسال در پیوند عمیق و غیره مدیریت شود یا خیر.
امضا:
generateVerifyAndChangeEmailLink(email: string, newEmail: string, actionCodeSettings?: ActionCodeSettings): Promise<string>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
پست الکترونیک | رشته | حساب ایمیل فعلی |
ایمیل جدید | رشته | آدرس ایمیلی که حساب در حال به روز رسانی است. |
actionCodeSettings | ActionCodeSettings | تنظیمات کد عمل اگر مشخص شده باشد، URL وضعیت/ادامه به عنوان پارامتر "continueUrl" در پیوند تأیید ایمیل تنظیم می شود. صفحه فرود تأیید ایمیل پیش فرض از این برای نمایش پیوندی برای بازگشت به برنامه در صورت نصب استفاده می کند. اگر actionCodeSettings مشخص نشده باشد، هیچ URL به URL اقدام اضافه نمی شود. URL وضعیت ارائه شده باید متعلق به دامنه ای باشد که در کنسول مجاز است، در غیر این صورت خطایی رخ خواهد داد. تغییر مسیرهای برنامه تلفن همراه تنها در صورتی قابل اعمال است که توسعهدهنده شرایط خدمات Firebase Dynamic Links را پیکربندی کرده و بپذیرد. نام بسته Android و شناسه بسته iOS فقط در صورتی رعایت می شوند که در پروژه Firebase Auth یکسان پیکربندی شده باشند. |
برمی گرداند:
قول<رشته>
قولی که با لینک تولید شده حل می شود.
BaseAuth.getProviderConfig()
پیکربندی ارائه دهنده Auth را با شناسه ارائه شده جستجو می کند. وعده ای را برمی گرداند که با پیکربندی ارائه دهنده مطابق با شناسه ارائه دهنده مشخص شده حل می شود. اگر شناسه مشخص شده وجود نداشته باشد، یک خطای auth/configuration-not-found
داده می شود.
پشتیبانی ارائهدهنده SAML و OIDC به پلتفرم هویت Google Cloud (GCIP) نیاز دارد. برای کسب اطلاعات بیشتر درباره GCIP، از جمله قیمت و ویژگیها، به مستندات GCIP مراجعه کنید .
امضا:
getProviderConfig(providerId: string): Promise<AuthProviderConfig>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
شناسه ارائه دهنده | رشته | شناسه ارائه دهنده مربوط به پیکربندی ارائه دهنده برای بازگشت. |
برمی گرداند:
Promise< AuthProviderConfig >
قولی که با پیکربندی مربوط به شناسه ارائه شده حل می شود.
BaseAuth.getUser()
داده های کاربر را برای کاربر مربوط به یک uid
معین دریافت می کند .
برای نمونه کد و مستندات دقیق به بازیابی اطلاعات کاربر مراجعه کنید.
امضا:
getUser(uid: string): Promise<UserRecord>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
uid | رشته | uid مربوط به کاربری که دادههای او واکشی میشود. |
برمی گرداند:
قول< UserRecord >
وعده ای که با داده های کاربر مربوط به uid
ارائه شده محقق شد .
BaseAuth.getUserByEmail()
داده های کاربر را برای کاربر مربوط به یک ایمیل داده شده دریافت می کند.
برای نمونه کد و مستندات دقیق به بازیابی اطلاعات کاربر مراجعه کنید.
امضا:
getUserByEmail(email: string): Promise<UserRecord>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
پست الکترونیک | رشته | ایمیل مربوط به کاربری که دادههای او واکشی میشود. |
برمی گرداند:
قول< UserRecord >
وعده ای که با داده های کاربر مربوط به ایمیل ارائه شده محقق شد.
BaseAuth.getUserByPhoneNumber()
داده های کاربر مربوط به یک شماره تلفن مشخص را برای کاربر دریافت می کند. شماره تلفن باید با مشخصات E.164 مطابقت داشته باشد.
برای نمونه کد و مستندات دقیق به بازیابی اطلاعات کاربر مراجعه کنید.
امضا:
getUserByPhoneNumber(phoneNumber: string): Promise<UserRecord>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
شماره تلفن | رشته | شماره تلفن مربوط به کاربری که دادههای او واکشی میشود. |
برمی گرداند:
قول< UserRecord >
وعده ای که با داده های کاربر مربوط به شماره تلفن ارائه شده محقق شد.
BaseAuth.getUserByProviderUid()
داده های کاربر مربوط به شناسه ارائه دهنده داده شده را برای کاربر دریافت می کند.
برای نمونه کد و مستندات دقیق به بازیابی اطلاعات کاربر مراجعه کنید.
امضا:
getUserByProviderUid(providerId: string, uid: string): Promise<UserRecord>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
شناسه ارائه دهنده | رشته | شناسه ارائه دهنده، به عنوان مثال، "google.com" برای ارائه دهنده Google. |
uid | رشته | شناسه کاربر برای ارائه دهنده داده شده. |
برمی گرداند:
قول< UserRecord >
وعده ای که با داده های کاربر مربوط به شناسه ارائه دهنده داده شده محقق شد.
BaseAuth.getUsers()
داده های کاربر مربوط به شناسه های مشخص شده را دریافت می کند.
هیچ تضمینی برای سفارش وجود ندارد. به طور خاص، ورودی n در لیست نتایج تضمین نمی شود که با ورودی n در لیست پارامترهای ورودی مطابقت داشته باشد.
فقط حداکثر 100 شناسه ممکن است ارائه شود. اگر بیش از 100 شناسه ارائه شود، این روش یک FirebaseAuthError ایجاد می کند.
امضا:
getUsers(identifiers: UserIdentifier[]): Promise<GetUsersResult>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
شناسه ها | UserIdentifier [] | شناسه هایی که برای نشان دادن اینکه کدام سوابق کاربر باید برگردانده شوند استفاده می شود. نباید بیش از 100 ورودی داشته باشد. |
برمی گرداند:
Promise< GetUsersResult >
قولی که به سوابق کاربر مربوطه حل می شود.
استثناها
FirebaseAuthError اگر هر یک از شناسه ها نامعتبر باشد یا اگر بیش از 100 شناسه مشخص شده باشد.
BaseAuth.importUsers()
لیست ارائه شده از کاربران را به Firebase Auth وارد می کند. حداکثر 1000 کاربر مجاز به وارد کردن یک به یک هستند. هنگام وارد کردن کاربران با رمز عبور، UserImportOptions باید مشخص شود. این عملیات برای واردات انبوه بهینه شده است و بررسی های مربوط به uid
را نادیده می گیرد ، email
و سایر شناسه های منحصر به فرد که می تواند منجر به تکرار شود.
امضا:
importUsers(users: UserImportRecord[], options?: UserImportOptions): Promise<UserImportResult>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
کاربران | UserImportRecord [] | فهرست سوابق کاربر برای وارد کردن به Firebase Auth. |
گزینه ها | UserImportOptions | گزینه های وارد کردن کاربر، زمانی که کاربران ارائه شده شامل اعتبار رمز عبور هستند، مورد نیاز است. |
برمی گرداند:
Promise< UserImportResult >
قولی که با اتمام عملیات با نتیجه واردات برطرف می شود. این شامل تعداد واردات موفق، تعداد واردات ناموفق و خطاهای مربوط به آنها است.
BaseAuth.listProviderConfigs()
لیست تنظیمات ارائه دهنده موجود مطابق با فیلتر ارائه شده را برمی گرداند. حداکثر، 100 پیکربندی ارائه دهنده را می توان در یک زمان فهرست کرد.
پشتیبانی ارائهدهنده SAML و OIDC به پلتفرم هویت Google Cloud (GCIP) نیاز دارد. برای کسب اطلاعات بیشتر درباره GCIP، از جمله قیمت و ویژگیها، به مستندات GCIP مراجعه کنید .
امضا:
listProviderConfigs(options: AuthProviderConfigFilter): Promise<ListProviderConfigResults>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
گزینه ها | AuthProviderConfigFilter | فیلتر پیکربندی ارائه دهنده برای اعمال. |
برمی گرداند:
Promise< ListProviderConfigResults >
قولی که با لیست پیکربندی های ارائه دهنده مطابق با الزامات فیلتر حل می شود.
BaseAuth.listUsers()
لیستی از کاربران (فقط یک دسته) را با اندازه maxResults
بازیابی می کند که از افست شروع می شود همانطور که توسط pageToken
مشخص شده است. . این برای بازیابی همه کاربران یک پروژه مشخص به صورت دسته ای استفاده می شود.
فهرست همه کاربران را برای نمونه کد و مستندات دقیق ببینید.
امضا:
listUsers(maxResults?: number, pageToken?: string): Promise<ListUsersResult>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
حداکثر نتایج | عدد | اندازه صفحه، 1000 اگر تعریف نشده باشد. این نیز حداکثر حد مجاز است. |
pageToken | رشته | توکن صفحه بعد. اگر مشخص نشده باشد، کاربران را بدون هیچ گونه افست شروع می کند. |
برمی گرداند:
Promise< ListUsersResult >
قولی که با دسته فعلی کاربران دانلود شده و توکن صفحه بعدی حل می شود.
BaseAuth.revokeRefreshTokens()
همه نشانههای تازهسازی را برای یک کاربر موجود لغو میکند.
این API UserRecord.tokensValidAfterTime کاربر را به UTC فعلی به روز می کند. مهم است که سروری که روی آن فراخوانی می شود ساعت خود را به درستی تنظیم و هماهنگ کرده باشد.
در حالی که این کار تمام جلسات را برای یک کاربر مشخص لغو میکند و هر کد شناسه جدید را برای جلسات موجود غیرفعال میکند، نشانههای ID موجود ممکن است تا زمان انقضای طبیعی خود (یک ساعت) فعال بمانند. برای تأیید اینکه نشانههای ID باطل شدهاند، از BaseAuth.verifyIdToken() استفاده کنید، جایی که checkRevoked
روی true تنظیم شده است.
امضا:
revokeRefreshTokens(uid: string): Promise<void>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
uid | رشته | uid مربوط به کاربری که توکنهای تازهسازی او باید باطل شوند. |
برمی گرداند:
قول<باطل>
یک وعده خالی که پس از باطل شدن توکنهای تازهسازی کاربر انجام میشود.
BaseAuth.setCustomUserClaims()
ادعاهای برنامهنویس اضافی را در مورد یک کاربر موجود که توسط uid
ارائه شده شناسایی شده است تنظیم میکند ، معمولاً برای تعریف نقش های کاربر و سطوح دسترسی استفاده می شود. این ادعاها باید به همه دستگاههایی که کاربر قبلاً به سیستم وارد شده است (پس از انقضای رمز یا زمانی که بهروزرسانی اجباری توکن است) و دفعه بعد که کاربر وارد سیستم میشود منتشر شود. اگر از یک نام ادعای OIDC رزرو شده استفاده شود (sub، iat، iss و غیره ) یک خطا پرتاب می شود. آنها بر روی رمز شناسه کاربر تأیید شده JWT تنظیم می شوند.
برای نمونه کد و مستندات دقیق به تعریف نقش های کاربر و سطوح دسترسی مراجعه کنید.
امضا:
setCustomUserClaims(uid: string, customUserClaims: object | null): Promise<void>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
uid | رشته | uid کاربر برای ویرایش. |
CustomUserClaims | شی | خالی | توسعه دهنده مدعی تنظیم است. اگر null تصویب شود، ادعاهای سفارشی موجود حذف می شوند. ارسال یک بار ادعای سفارشی بزرگتر از 1000 بایت با خطا مواجه می شود. ادعاهای سفارشی به رمز شناسه کاربر اضافه می شود که در هر درخواست تأیید شده ارسال می شود. برای ویژگیهای کاربر مرتبط با دسترسی غیرقابل دسترسی، از پایگاه داده یا سایر سیستمهای ذخیرهسازی جداگانه استفاده کنید. |
برمی گرداند:
قول<باطل>
قولی که با تکمیل موفقیت آمیز عملیات برطرف می شود.
BaseAuth.updateProviderConfig()
وعده ای را برمی گرداند که با AuthProviderConfig
به روز شده مربوط به شناسه ارائه دهنده مشخص شده حل می شود. اگر شناسه مشخص شده وجود نداشته باشد، یک خطای auth/configuration-not-found
داده می شود.
پشتیبانی ارائهدهنده SAML و OIDC به پلتفرم هویت Google Cloud (GCIP) نیاز دارد. برای کسب اطلاعات بیشتر درباره GCIP، از جمله قیمت و ویژگیها، به مستندات GCIP مراجعه کنید .
امضا:
updateProviderConfig(providerId: string, updatedConfig: UpdateAuthProviderRequest): Promise<AuthProviderConfig>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
شناسه ارائه دهنده | رشته | شناسه ارائه دهنده مربوط به پیکربندی ارائه دهنده برای به روز رسانی. |
updatedConfig | UpdateAuthProviderRequest | پیکربندی به روز شده |
برمی گرداند:
Promise< AuthProviderConfig >
وعده ای که با پیکربندی ارائه دهنده به روز شده حل می شود.
BaseAuth.updateUser()
یک کاربر موجود را به روز می کند.
برای نمونه کد و مستندات دقیق به به روز رسانی کاربر مراجعه کنید.
امضا:
updateUser(uid: string, properties: UpdateRequest): Promise<UserRecord>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
uid | رشته | uid مربوط به کاربر برای به روز رسانی. |
خواص | UpdateRequest | خواص برای به روز رسانی در کاربر ارائه شده. |
برمی گرداند:
قول< UserRecord >
وعده ای که با داده های کاربر به روز شد.
BaseAuth.verifyIdToken()
یک نشانه Firebase ID (JWT) را تأیید می کند. اگر نشانه معتبر باشد، وعده با ادعاهای رمزگشایی شده محقق می شود. در غیر این صورت قول مردود است.
اگر checkRevoked
روی true تنظیم شده باشد، ابتدا بررسی کنید که آیا کاربر مربوطه غیرفعال است یا خیر. اگر بله، خطای auth/user-disabled
داده می شود. اگر نه، بررسی میکند که آیا جلسه مربوط به کد ID لغو شده است یا خیر. اگر جلسه کاربر مربوطه باطل شد، یک خطای auth/id-token-revoked
داده میشود. اگر مشخص نشده باشد چک اعمال نمی شود.
برای نمونه کد و مستندات دقیق، به تأیید شناسه توکنها مراجعه کنید.
امضا:
verifyIdToken(idToken: string, checkRevoked?: boolean): Promise<DecodedIdToken>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
idToken | رشته | رمز شناسایی برای تأیید. |
چک لغو شد | بولی | بررسی اینکه آیا رمز شناسایی باطل شده است یا خیر. این نیاز به یک درخواست اضافی به باطن Firebase Auth برای بررسی زمان tokensValidAfterTime برای کاربر مربوطه دارد. وقتی مشخص نیست، این بررسی اضافی اعمال نمی شود. |
برمی گرداند:
Promise< DecodedIdToken >
وعده ای که با ادعاهای رمزگشایی شده در صورت معتبر بودن رمز شناسه انجام می شود. در غیر این صورت قول رد شده
BaseAuth.verifySessionCookie()
یک کوکی جلسه Firebase را تأیید می کند. یک قول را با ادعاهای کوکی برمی گرداند. اگر کوکی تأیید نشد، قول را رد می کند.
اگر checkRevoked
روی true تنظیم شده باشد، ابتدا بررسی کنید که آیا کاربر مربوطه غیرفعال است یا خیر: اگر بله، یک خطای auth/user-disabled
داده می شود. اگر نه، بررسی میکند که آیا جلسه مربوط به کوکی جلسه لغو شده است یا خیر. اگر جلسه کاربر مربوطه باطل شد، یک خطای auth/session-cookie-revoked
پرتاب میشود. اگر مشخص نشده باشد بررسی انجام نمی شود.
برای نمونه کد و مستندات دقیق به تأیید کوکیهای جلسه مراجعه کنید
امضا:
verifySessionCookie(sessionCookie: string, checkRevoked?: boolean): Promise<DecodedIdToken>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
sessionCookie | رشته | کوکی جلسه برای تأیید. |
چک لغو شد | بولی |
برمی گرداند:
Promise< DecodedIdToken >
وعده ای که با ادعاهای رمزگشایی شده کوکی جلسه در صورت معتبر بودن کوکی جلسه محقق می شود. در غیر این صورت قول رد شده