مقدمه ای بر Admin Auth API

Firebase Admin SDK به شما امکان می دهد سرورهای خود را با Firebase Authentication ادغام کنید. می‌توانید از Firebase Admin SDK برای مدیریت کاربران خود یا مدیریت نشانه‌های احراز هویت استفاده کنید. دلایل مختلفی وجود دارد که می خواهید این کار را انجام دهید:

مدیریت کاربر

برای مدیریت کاربران Firebase ، بازدید از کنسول Firebase همیشه راحت نیست. API مدیریت کاربر مدیریت دسترسی برنامه‌ریزی شده را برای همین کاربران فراهم می‌کند. حتی به شما اجازه می دهد کارهایی را که کنسول Firebase نمی تواند انجام دهید، مانند بازیابی اطلاعات کامل کاربر و تغییر رمز عبور، آدرس ایمیل یا شماره تلفن کاربر.

احراز هویت سفارشی

می توانید یک سیستم کاربر خارجی را با Firebase ادغام کنید. به عنوان مثال، ممکن است از قبل یک پایگاه داده کاربر از قبل موجود داشته باشید یا ممکن است بخواهید با یک ارائه دهنده هویت شخص ثالث که Firebase Authentication به طور بومی آن را پشتیبانی نمی کند، ادغام کنید.

برای انجام این کار، می توانید توکن های سفارشی با ادعاهای دلخواه ایجاد کنید که کاربر را شناسایی می کند. سپس می‌توان از این توکن‌های سفارشی برای ورود به سرویس Firebase Authentication در یک برنامه مشتری استفاده کرد و هویت توصیف‌شده توسط ادعای توکن را در نظر گرفت. سپس هنگام دسترسی به سایر سرویس‌های Firebase ، مانند Cloud Storage ، از این هویت استفاده می‌شود.

تایید هویت

Firebase Authentication عمدتاً برای شناسایی کاربران برنامه شما به منظور محدود کردن دسترسی به سایر سرویس‌ها، مانند Cloud Storage استفاده می‌شود. همچنین می توانید از این سرویس برای شناسایی این کاربران در سرور خود استفاده کنید. این به شما امکان می دهد منطق سمت سرور را به صورت ایمن از طرف کاربرانی که با Firebase Authentication وارد شده اند انجام دهید.

برای انجام این کار، می توانید یک رمز شناسه را از یک برنامه مشتری که با Firebase Authentication وارد شده است، بازیابی کنید و آن را در یک درخواست به سرور خود وارد کنید. سپس سرور شما کد شناسه را تأیید می‌کند و ادعاهایی را که کاربر را شناسایی می‌کند (از جمله uid ، ارائه‌دهنده هویتی که با آن وارد شده و غیره) استخراج می‌کند. سپس این اطلاعات هویتی می تواند توسط سرور شما برای انجام اقدامات از طرف کاربر استفاده شود.

Firebase Admin SDK روش‌هایی را برای انجام وظایف احراز هویت در بالا با امکان مدیریت کاربران، تولید نشانه‌های سفارشی و تأیید نشانه‌های شناسه ارائه می‌کند.

ادعاهای کاربر سفارشی

در برخی موارد، ممکن است بخواهید برای کاربرانی که قبلاً با یکی از ارائه دهندگان تأیید اعتبار Firebase پشتیبانی شده مانند ایمیل/گذرواژه، Google، فیس بوک، تلفن و غیره وارد سیستم شده اند، کنترل دسترسی دقیق را اجرا کنید. ترکیبی از ادعاهای کاربر سفارشی و امنیت برنامه قوانین این قابلیت را فراهم می کند. برای مثال، کاربری که با ارائه‌دهنده ایمیل و رمز عبور Firebase Authentication وارد شده است، می‌تواند کنترل دسترسی را با استفاده از ادعاهای سفارشی تعریف کند.

مدیریت کاربر

Firebase Admin SDK یک API برای مدیریت کاربران Firebase شما با امتیازات بالا ارائه می دهد. API مدیریت کاربر مدیریت به شما این امکان را می دهد که بدون نیاز به اعتبار کاربری موجود و بدون نگرانی در مورد محدودیت نرخ سمت مشتری، کاربران را به صورت برنامه نویسی بازیابی، ایجاد، به روز رسانی و حذف کنید.

مدیریت کاربران

ایجاد توکن سفارشی

استفاده اصلی برای ایجاد توکن های سفارشی این است که به کاربران اجازه می دهد در برابر مکانیزم احراز هویت خارجی یا قدیمی احراز هویت کنند. این می تواند یکی از مواردی باشد که شما کنترل می کنید، مانند سرور LDAP یا یک ارائه دهنده OAuth شخص ثالث که Firebase به طور بومی از آن پشتیبانی نمی کند، مانند Instagram یا LinkedIn.

Firebase Admin SDK دارای یک روش داخلی برای ایجاد توکن های سفارشی است. همچنین می توانید به صورت برنامه نویسی توکن های سفارشی را با استفاده از کتابخانه های JWT شخص ثالث به هر زبانی ایجاد کنید.

سرور شما باید یک نشانه سفارشی با یک شناسه ( uid ) منحصر به فرد ایجاد کند و آن نشانه را به یک برنامه مشتری ارسال کند، که از آن برای ورود به Firebase استفاده می کند. برای نمونه کد و جزئیات بیشتر در مورد فرآیند ایجاد توکن سفارشی، به ایجاد نشانه های سفارشی مراجعه کنید.

توکن های سفارشی ایجاد کنید

تایید رمز شناسه

اگر برنامه مشتری Firebase شما با سرور پشتیبان شما ارتباط برقرار می کند، ممکن است لازم باشد کاربر وارد شده فعلی را در سرور خود شناسایی کنید تا بتوانید منطق سمت سرور را از طرف او انجام دهید. می‌توانید این کار را با استفاده از نشانه‌های ID، که توسط Firebase هنگام ورود کاربر به برنامه Firebase ایجاد می‌شوند، به‌طور ایمن انجام دهید. نشانه‌های ID با مشخصات OpenID Connect مطابقت دارند و حاوی داده‌هایی برای شناسایی کاربر، و همچنین برخی دیگر از اطلاعات مربوط به نمایه و احراز هویت هستند. شما می توانید این نشانه ها را از پشتیبان خود ارسال، تأیید و بررسی کنید. این به شما امکان می دهد تا به طور ایمن کاربر وارد شده فعلی را شناسایی کرده و آنها را در منابع باطن خود مجاز کنید.

Firebase Admin SDK دارای یک روش داخلی برای تأیید توکن های ID است. همچنین می‌توانید با استفاده از کتابخانه‌های JWT شخص ثالث، نشانه‌های شناسه را به هر زبانی تأیید کنید. برای جزئیات بیشتر و نمونه کد در مورد فرآیند تأیید شناسه شناسه، به تأیید نمادهای شناسه مراجعه کنید.

تایید نشانه های ID

ادعاهای کاربر سفارشی

Firebase Admin SDK به شما امکان می دهد ویژگی های سفارشی را در حساب های کاربری تنظیم کنید. با ادعاهای کاربر سفارشی، می‌توانید سطوح مختلف دسترسی (نقش‌ها) را به کاربران بدهید که سپس در قوانین امنیتی برنامه اعمال می‌شوند.

پس از اینکه ادعاهای سفارشی روی یک کاربر از طریق Firebase Admin SDK اصلاح شد، آنها از طریق نشانه‌های شناسه به کاربران تأیید شده در سمت مشتری منتشر می‌شوند. رمز شناسه یک مکانیسم قابل اعتماد برای ارائه این ادعاهای سفارشی است و همه دسترسی های احراز هویت شده باید قبل از پردازش درخواست مرتبط، رمز ID را تأیید کنند.

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