از کجا باید با Firebase Authentication شروع کنم؟
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
من قبلاً یک سیستم احراز هویت دارم
اگر برنامه شما قبلاً یک اجرای ورود به سیستم دارد و میخواهید از آن برای احراز هویت با سرویسهای باطن Firebase استفاده کنید، از تأیید اعتبار سفارشی استفاده کنید. این شامل برنامه هایی می شود که از یکی از موارد زیر استفاده می کنند:
- راه حل های سفارشی ساخته شده، مانند سیستم های مبتنی بر رمز عبور سفارشی.
- خدمات مدیریت هویت شخص ثالث، مانند Auth0 یا Okta.
- ادغام های موجود با ارائه دهندگان هویت فدرال، مانند Google، Facebook، یا Apple. (و اگر هنوز از هویت فدرال پشتیبانی نمی کنید، اما می خواهید، بخش بعدی را ببینید.)
با احراز هویت سفارشی، کاربران را با سیستم مورد نظر خود وارد میکنید، یک توکن Firebase برای کاربر در باطن خود ایجاد میکنید و سپس از توکن مشتری برای احراز هویت با Firebase استفاده میکنید.
به اسناد iOS+ ، Android ، Web ، Flutter ، Unity یا C++ مراجعه کنید.
من می خواهم سیستم احراز هویت خود را با Firebase بسازم
اگر در حال ساختن یک برنامه جدید یا اضافه کردن ورود به سیستم به یک برنامه موجود هستید، Firebase دارای کتابخانهها و خدماتی است که میتواند به شما کمک کند احراز هویت ایمن را بدون نیاز به ساختن پشتیبان احراز هویت انجام دهید. Firebase Authentication یک راه حل کامل برای ورود به سیستم با رمزهای عبور، ارائه دهندگان هویت فدرال، پیوندهای ایمیل و پیام های متنی است.
من یک راه حل کشویی می خواهم که استفاده از آن آسان باشد
سریعترین و سادهترین راه برای افزودن احراز هویت به یک برنامه، استفاده از FirebaseUI Auth است، یک کتابخانه UI کشویی. FirebaseUI جریان های کاربر کامل را برای همه روش های ورود به سیستم پشتیبانی شده Firebase Authentication پیاده سازی می کند.
از آنجایی که FirebaseUI Auth یک راه حل کشویی است، یک UX خاص دارد که ممکن است نیازهای شما را برآورده نکند. اگر می خواهید UX را تغییر دهید، می توانید کتابخانه را که منبع باز است فورک کنید و از نسخه خود استفاده کنید. با این حال، برای جریانهای ورود به سیستم بسیار متفاوت، ممکن است ترجیح دهید که جریانهای خود را با Firebase SDK اجرا کنید، همانطور که در بخش بعدی بحث شد.
به اسناد FirebaseUI Auth برای iOS ، Android یا Web مراجعه کنید.
من کنترل کامل بر تجربه ورود به سیستم میخواهم
برای کنترل بیشتر بر تجربه ورود به سیستم برنامهتان، میتوانید جریانهای احراز هویت خود را پیادهسازی کنید و از Firebase SDK برای کار با سرویسهای احراز هویت Firebase استفاده کنید. به عنوان مثال، آدرس ایمیل و جریان رمز عبور یا جریان ورود به سیستم Google خود را بسازید و آدرس ایمیل و رمز عبور کاربر یا توکن Google ID را برای احراز هویت کاربر به Firebase ارسال کنید.
اسناد Firebase Authentication SDK را ببینید:
من می خواهم تجربیات غنی از قبل از ورود به سیستم ایجاد کنم
میتوانید قبل از اینکه با استفاده از ناشناس به سیستم وارد شوند، میتوانید به کاربران اجازه دهید از ویژگیهای واردشده به سیستم برنامه شما استفاده کنند. با "ورود به سیستم" ناشناس، حساب های موقت تک جلسه ای ایجاد می کنید که می توانید مانند یک حساب واقعی استفاده کنید. سپس، پس از اینکه کاربر وارد سیستم شد یا ثبت نام کرد، حساب موقت را به حساب واقعی پیوند دهید تا به او اجازه دهید از جایی که کار را متوقف کرده است ادامه دهد.
تأیید ناشناس در کنار تأیید سفارشی یا هر یک از خدمات احراز هویت Firebase به خوبی کار می کند.
به اسناد iOS+ ، Android ، Web ، Flutter ، Unity یا C++ مراجعه کنید.
من میخواهم به خدمات Firebase از باطن خود دسترسی پیدا کنم
برای دسترسی به خدمات Firebase از سرور، نیازی به استفاده از Firebase Authentication ندارید. در عوض، از Admin SDK استفاده کنید. وقتی Admin SDK راهاندازی میکنید، با اعتبارنامههای حساب سرویس احراز هویت میکنید، که نشاندهنده پروژه Firebase شما به جای یک کاربر خاص است و دسترسی کامل به منابع پروژه شما را میدهد.
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-07-25 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-07-25 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Where do I start with Firebase Authentication?\n\nI already have an authentication system\n---------------------------------------\n\nIf your app already has a sign-in implementation and you want to use it to\nauthenticate with Firebase backend services, use **Custom Authentication**. This\nincludes apps that use any of the following:\n\n- Custom-built solutions, such as custom password-based systems.\n- Third-party identity management services, such as Auth0 or Okta.\n- Existing integrations with federated identity providers, such as Google, Facebook, or Apple. (And if you don't yet support federated identity, but you want to, see the next section.)\n\nWith custom authentication, you sign users in with the system of your choice,\ncreate a Firebase token for the user on your backend, and then use the token\nfrom the client to authenticate with Firebase.\n\nSee the docs for\n[iOS+](/docs/auth/ios/custom-auth),\n[Android](/docs/auth/android/custom-auth),\n[Web](/docs/auth/web/custom-auth),\n[Flutter](/docs/auth/flutter/custom-auth),\n[Unity](/docs/auth/unity/custom-auth), or\n[C++](/docs/auth/cpp/custom-auth).\n\nI want to build my authentication system with Firebase\n------------------------------------------------------\n\nIf you're building a new app or adding sign-in to an existing app, Firebase has\nlibraries and services that can help you implement secure authentication without\nhaving to build the authentication backend yourself. Firebase Authentication is a\ncomplete backend solution for signing in with passwords, federated identity\nproviders, email links, and text messages.\n\n#### I want a drop-in solution that's easy to use\n\nThe fastest and easiest way to add authentication to an app is to use\n**FirebaseUI Auth** , a drop-in UI library. FirebaseUI implements complete user\nflows for all of Firebase Authentication's supported sign-in methods.\n\nBecause FirebaseUI Auth is a drop-in solution, it has a specific UX that might\nnot meet your needs. If you want to change the UX, you can fork the library,\nwhich is open source, and use your own version. However, for substantially\ndifferent sign-in flows, you might prefer to implement your own flows with the\nFirebase SDK as discussed in the next section.\n\nSee the FirebaseUI Auth docs for\n[iOS](/docs/auth/ios/firebaseui),\n[Android](/docs/auth/android/firebaseui), or\n[Web](/docs/auth/web/firebaseui).\n\n#### I want full control over the sign-in experience\n\nFor more control over your app's sign-in experience, you can implement your own\nauthentication flows and use the Firebase SDK to work with Firebase's\nauthentication services. For example, build your own email address and password\nflow or Google Sign-in flow, and pass the user's email address and password or\nGoogle ID token to Firebase to authenticate the user.\n\nSee the Firebase Authentication SDK docs:\n\n| Firebase services ||\n|----------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **Email address and password sign-in** | [iOS+](/docs/auth/ios/password-auth) \\| [Android](/docs/auth/android/password-auth) \\| [Web](/docs/auth/web/password-auth) \\| [Flutter](/docs/auth/flutter/password-auth) \\| [Unity](/docs/auth/unity/password-auth) \\| [C++](/docs/auth/cpp/password-auth) |\n| **Phone number sign-in** | [iOS+](/docs/auth/ios/phone-auth) \\| [Android](/docs/auth/android/phone-auth) \\| [Web](/docs/auth/web/phone-auth) \\| [Flutter](/docs/auth/flutter/phone-auth) \\| [Unity](/docs/auth/unity/phone-auth) \\| [C++](/docs/auth/cpp/phone-auth) |\n| **Email link sign-in** | [iOS+](/docs/auth/ios/email-link-auth) \\| [Android](/docs/auth/android/email-link-auth) \\| [Web](/docs/auth/web/email-link-auth) \\| [Flutter](/docs/auth/flutter/email-link-auth) \\| [Unity](/docs/auth/unity/email-link-auth) \\| [C++](/docs/auth/cpp/email-link-auth) |\n| **Google** | [iOS+](/docs/auth/ios/google-signin) \\| [Android](/docs/auth/android/google-signin) \\| [Web](/docs/auth/web/google-signin) \\| [Flutter](/docs/auth/flutter/federated-auth#google) \\| [Unity](/docs/auth/unity/google-signin) \\| [C++](/docs/auth/cpp/google-signin) |\n| **Facebook** | [iOS+](/docs/auth/ios/facebook-login) \\| [Android](/docs/auth/android/facebook-login) \\| [Web](/docs/auth/web/facebook-login) \\| [Flutter](/docs/auth/flutter/federated-auth#facebook) \\| [Unity](/docs/auth/unity/facebook-login) \\| [C++](/docs/auth/cpp/facebook-login) |\n| **Apple** | [iOS+](/docs/auth/ios/apple) \\| [Android](/docs/auth/android/apple) \\| [Web](/docs/auth/web/apple) \\| [Flutter](/docs/auth/flutter/federated-auth#apple) \\| [Unity](/docs/auth/unity/apple) \\| [C++](/docs/auth/cpp/apple) |\n| **Play Games** | [Android](/docs/auth/android/play-games) \\| [Unity](/docs/auth/unity/play-games) \\| [C++](/docs/auth/cpp/play-games) |\n| **Game Center** | [iOS+](/docs/auth/ios/game-center) |\n| **GitHub** | [iOS+](/docs/auth/ios/github-auth) \\| [Android](/docs/auth/android/github-auth) \\| [Web](/docs/auth/web/github-auth) \\| [Flutter](/docs/auth/flutter/federated-auth#github) \\| [Unity](/docs/auth/unity/github-auth) \\| [C++](/docs/auth/cpp/github-auth) |\n| **Microsoft** | [iOS+](/docs/auth/ios/microsoft-oauth) \\| [Android](/docs/auth/android/microsoft-oauth) \\| [Web](/docs/auth/web/microsoft-oauth) \\| [Unity](/docs/auth/unity/microsoft-oauth) \\| [C++](/docs/auth/cpp/microsoft-oauth) |\n| **Twitter** | [iOS+](/docs/auth/ios/twitter-login) \\| [Android](/docs/auth/android/twitter-login) \\| [Web](/docs/auth/web/twitter-login) \\| [Flutter](/docs/auth/flutter/federated-auth#twitter) \\| [Unity](/docs/auth/unity/twitter-login) \\| [C++](/docs/auth/cpp/twitter-login) |\n| **Yahoo** | [iOS+](/docs/auth/ios/yahoo-oauth) \\| [Android](/docs/auth/android/yahoo-oauth) \\| [Web](/docs/auth/web/yahoo-oauth) \\| [Unity](/docs/auth/unity/yahoo-oauth) \\| [C++](/docs/auth/cpp/yahoo-oauth) |\n\nI want to build rich pre-sign-in experiences\n--------------------------------------------\n\nYou can enable users to use the signed-in features of your app before they\nactually sign in using **Anonymous Auth**. With anonymous \"sign-in\", you create\ntemporary single-session accounts, which you can use like a real account. Then,\nafter the user signs in or signs up, link the temporary account to the real\naccount to let them continue where they left off.\n\nAnonymous Auth works well alongside either Custom Auth or any of Firebase's\nauthentication services.\n\nSee the docs for\n[iOS+](/docs/auth/ios/anonymous-auth),\n[Android](/docs/auth/android/anonymous-auth),\n[Web](/docs/auth/web/anonymous-auth),\n[Flutter](/docs/auth/flutter/anonymous-auth),\n[Unity](/docs/auth/unity/anonymous-auth), or\n[C++](/docs/auth/cpp/anonymous-auth).\n\nI want to access Firebase services from my backend\n--------------------------------------------------\n\nTo access Firebase services from a server, you don't need to use\nFirebase Authentication. Instead, use the [Admin SDK](/docs/admin/setup). When you\ninitialize the Admin SDK, you authenticate with service account credentials,\nwhich represent your Firebase project rather than a particular user, and which\ngrant full access to your project's resources."]]