از Google Identity Toolkit به Firebase Authentication مهاجرت کنید

جدیدترین نسخه Google Identity Toolkit با نام Firebase Authentication منتشر شده است. در آینده، کار با ویژگی‌های Identity Toolkit متوقف می‌شود و تمام توسعه ویژگی‌های جدید در Firebase Authentication انجام می‌شود. ما توسعه دهندگان Identity Toolkit را تشویق می کنیم که به محض اینکه برای برنامه هایشان عملی شد، به احراز هویت Firebase بروند. با این حال، Identity Toolkit به کار خود ادامه می دهد و بدون اطلاعیه بیشتر منسوخ نخواهد شد.

ویژگی های جدید

احراز هویت Firebase در حال حاضر بهبودهای قابل توجهی نسبت به Google Identity Toolkit دارد:

  • دسترسی به تمام Firebase

    Firebase یک پلت فرم تلفن همراه است که به شما کمک می کند تا به سرعت برنامه های با کیفیت بالا توسعه دهید، پایگاه کاربران خود را افزایش دهید و درآمد بیشتری کسب کنید. Firebase از ویژگی‌های مکملی تشکیل شده است که می‌توانید آن‌ها را مطابق با نیازهای خود ترکیب و مطابقت دهید و شامل زیرساخت‌هایی برای: تجزیه و تحلیل تلفن همراه، پیام‌رسانی ابری ، پایگاه داده بیدرنگ ، ذخیره‌سازی فایل ، میزبانی ثابت ، پیکربندی از راه دور ، گزارش خرابی تلفن همراه و آزمایش اندروید است.

  • رابط های کاربری به روز شده

    ما به طور کامل جریان های رابط کاربری را بر اساس آخرین تحقیقات UX گوگل بازسازی کرده ایم. این شامل بازیابی رمز عبور، پیوند دادن حساب، جریان‌های ابهام‌زدایی حساب جدید/موجود است که اغلب زمان زیادی برای کدنویسی و اشکال‌زدایی می‌گیرد. Smart Lock for Passwords را در اندروید ادغام می‌کند، که به طور قابل توجهی تبدیل ورود به سیستم و ثبت‌نام را برای برنامه‌های شرکت‌کننده بهبود بخشیده است. همچنین از تغییرات آسان تم برای مطابقت با برنامه شما پشتیبانی می کند و برای حداکثر سفارشی سازی، نسخه های Android و iOS منبع باز هستند.

  • راه اندازی سرور ساده شده

    ما استفاده از Firebase Authentication را برای توسعه دهندگان آسانتر کرده ایم. با Identity Toolkit، شاهد بودیم که بسیاری از توسعه‌دهندگان تصمیم گرفتند جریان بازیابی ایمیل را پیاده‌سازی نکنند که باعث می‌شد در صورت فراموش کردن رمز عبور، بازیابی حساب‌های کاربری برای کاربران غیرممکن شود. Firebase Authentication می‌تواند تأیید ایمیل، بازنشانی رمز عبور و پیام‌های تغییر رمز عبور را برای کاربر ارسال کند و متن به راحتی برای کاربران شما سفارشی شود. علاوه بر این، دیگر نیازی به میزبانی ویجت‌های UI برای تغییر مسیرهای میزبانی و تکمیل عملیات تغییر رمز عبور ندارید.

  • کنسول مدیریت جدید

    Firebase دارای یک کنسول توسعه دهنده جدید است و بخش Authentication به شما امکان می دهد کاربران خود را مشاهده، اصلاح و حذف کنید. این می تواند کمک بزرگی برای اشکال زدایی جریان ورود و ثبت نام شما باشد. این کنسول همچنین به شما اجازه می دهد تا روش های احراز هویت را پیکربندی کنید و قالب های ایمیل را سفارشی کنید.

  • SDK های جدید

    همه APIهای سرور Identity Toolkit اکنون به صورت بومی با هر یک از کتابخانه های مشتری ما (اندروید، iOS، وب) در دسترس هستند. توسعه‌دهندگان می‌توانند بدون اتصال به رابط کاربری ثابت وارد سیستم شوند و کاربران قدیمی و جدید را ثبت نام کنند، به ویژگی‌های کاربر دسترسی داشته باشند، حساب‌ها را پیوند دهند، به‌روزرسانی و حذف کنند، رمزهای عبور را بازنشانی کنند و موارد دیگر. اگر ترجیح می دهید، می توانید به صورت دستی کل جریان ورود و تجربه خود را در بالای این API ایجاد کنید.

  • مدیریت جلسات برای برنامه های تلفن همراه

    با Identity Toolkit، برنامه ها وضعیت جلسه خود را بر اساس رویداد احراز هویت اولیه از Identity Toolkit ایجاد کردند. Firebase Auth از یک سرویس باطن استفاده می‌کند که یک توکن تازه‌سازی را که از رویداد احراز هویت استخراج شده است، می‌گیرد و آن را با توکن‌های دسترسی یک ساعته برای Android، iOS و جاوا اسکریپت مبادله می‌کند. وقتی کاربر رمز عبور خود را تغییر می‌دهد، توکن‌های تازه‌سازی دیگر نمی‌توانند نشانه‌های دسترسی جدید ایجاد کنند، بنابراین تا زمانی که کاربر در آن دستگاه احراز هویت مجدد نکند، دسترسی را غیرفعال می‌کند.

  • احراز هویت ناشناس و GitHub

    Firebase Authentication از دو نوع احراز هویت جدید پشتیبانی می کند: GitHub و ناشناس. ورود به سیستم ناشناس را می توان برای ایجاد یک شناسه کاربری منحصر به فرد بدون نیاز به انجام هر گونه فرآیند ورود به سیستم یا ثبت نام استفاده کرد. با یک کاربر ناشناس، اکنون می توانید تماس های API احراز هویت شده را مانند یک کاربر معمولی برقرار کنید. هنگامی که کاربر تصمیم می گیرد برای یک حساب ثبت نام کند، تمام فعالیت ها با همان شناسه کاربری حفظ می شود. این برای موقعیت‌هایی مانند سبد خرید سمت سرور یا هر برنامه‌ای که می‌خواهید کاربر را قبل از ارسال از طریق جریان ثبت‌نام درگیر کنید، عالی است.

تفاوت ویژگی ها

برخی از ویژگی‌های Identity Toolkit در حال حاضر در Firebase Authentication در دسترس نیستند، در حالی که سایر ویژگی‌ها دوباره طراحی شده‌اند و متفاوت عمل می‌کنند. اگر این ویژگی‌ها برای برنامه شما مهم هستند، ممکن است تصمیم بگیرید که فوراً مهاجرت نکنید. در بسیاری از موارد، این ویژگی‌ها ممکن است برای برنامه شما مهم نباشند یا ممکن است بازگشت‌های آسانی وجود داشته باشد که به شما امکان می‌دهد مهاجرت را ادامه دهید.

تفاوت سمت سرور

سرویس اصلی Identity Toolkit با REST APIهای زیربنایی، منطق اعتبارسنجی حساب و پایگاه داده کاربر اصلی تنها به‌روزرسانی‌های جزئی را تجربه کرده‌اند. اما برخی از ویژگی ها و نحوه ادغام Firebase Authentication در سرویس خود تغییر کرده است.

  • ارائه دهندگان هویت

    پی پال و AOL پشتیبانی نمی شوند. کاربرانی که حساب‌هایی از این IDPها دارند همچنان می‌توانند با جریان بازیابی رمز عبور وارد برنامه شما شوند و برای حساب خود رمز عبور تنظیم کنند.

  • کتابخانه های سرور

    در حال حاضر، SDKهای مدیریت Firebase برای Java، Node.js، Python، Go و C# در دسترس هستند.

  • ایمیل های مدیریت اکانت

    بازنشانی رمز عبور، تأیید ایمیل و پیام های تغییر ایمیل را می توان توسط Firebase یا از سرور ایمیل خود توسعه دهنده انجام داد. در حال حاضر، قالب های ایمیل Firebase فقط سفارشی سازی محدودی را ارائه می دهند.

  • تایید تغییر آدرس ایمیل

    در Identity Toolkit، زمانی که کاربر تصمیم می گیرد آدرس ایمیل خود را تغییر دهد، ایمیلی را به آدرس جدید ارسال می کند که پیوندی برای ادامه جریان تغییر آدرس ایمیل دارد.

    Firebase تغییر آدرس ایمیل را با ارسال یک ایمیل لغو به آدرس ایمیل قدیمی همراه با پیوندی برای بازگرداندن تغییر تأیید می کند.

  • عرضه IDP

    Identity Toolkit این قابلیت را داشت که ارائه دهندگان هویت را به تدریج به سیستم ورود به سیستم شما اضافه کند تا بتوانید تأثیر آن بر درخواست‌های پشتیبانی خود را آزمایش کنید. این ویژگی در Firebase Authentication حذف شد.

تفاوت های سمت مشتری

در Firebase، ویژگی‌های ارائه شده توسط Google Identity Toolkit به دو بخش تقسیم می‌شوند:

  • SDKهای احراز هویت Firebase

    در Firebase Authentication، عملکرد ارائه شده توسط Identity Toolkit's REST API در SDK های مشتری موجود برای Android، iOS و جاوا اسکریپت بسته بندی شده است. می توانید از SDK برای ورود و ثبت نام کاربران استفاده کنید. دسترسی به اطلاعات پروفایل کاربر؛ پیوند، به روز رسانی و حذف حساب ها؛ و به جای برقراری ارتباط با سرویس پایان از طریق تماس های REST، رمزهای عبور را با استفاده از SDK کلاینت بازنشانی کنید.

  • FirebaseUI Auth

    همه جریان‌های رابط کاربری که ورود به سیستم، ثبت‌نام، بازیابی رمز عبور و پیوند دادن حساب را مدیریت می‌کنند با استفاده از SDKهای احراز هویت Frebase بازسازی شده‌اند. آنها به عنوان SDK های منبع باز برای iOS و Android در دسترس هستند تا شما را قادر سازند تا به طور کامل جریان ها را به روش هایی که با Identity Toolkit امکان پذیر نیست سفارشی کنید.

تفاوت های اضافی عبارتند از:

  • جلسات و مهاجرت

    از آنجایی که جلسات در Identity Toolkit و Firebase Authentication متفاوت مدیریت می‌شوند، جلسات موجود کاربران شما با ارتقا SDK خاتمه می‌یابند و کاربران شما باید دوباره وارد سیستم شوند.

قبل از اینکه شروع کنی

قبل از اینکه بتوانید از Identity Toolkit به Firebase Authentication مهاجرت کنید، باید

  1. کنسول Firebase را باز کنید، روی Import Google Project کلیک کنید و پروژه Identity Toolkit خود را انتخاب کنید.

  2. برای باز کردن صفحه IAM & Admin روی > مجوزها کلیک کنید.

  3. صفحه حساب های سرویس را باز کنید. در اینجا می‌توانید حساب سرویسی را که قبلاً برای Identity Toolkit پیکربندی کرده‌اید، ببینید.

  4. در کنار حساب سرویس، روی > ایجاد کلید کلیک کنید. سپس در گفتگوی Create private key نوع کلید را روی JSON تنظیم کرده و روی Create کلیک کنید. یک فایل JSON حاوی اطلاعات کاربری حساب سرویس شما برای شما دانلود می شود. برای راه اندازی اولیه SDK در مرحله بعد به این نیاز دارید.

  5. به کنسول Firebase برگردید. در بخش Auth، صفحه Email Templates را باز کنید. در این صفحه، الگوهای ایمیل برنامه خود را سفارشی کنید.

    در Identity Toolkit، زمانی که کاربران رمزهای عبور را بازنشانی می‌کنند، آدرس‌های ایمیل را تغییر می‌دهند و آدرس ایمیل خود را تأیید می‌کنند، باید یک کد OOB از سرور Identity Toolkit دریافت کنید و سپس کد را از طریق ایمیل برای کاربران ارسال کنید. Firebase ایمیل‌هایی را بر اساس الگوهایی که پیکربندی می‌کنید بدون نیاز به هیچ اقدام اضافی ارسال می‌کند.

  6. اختیاری : اگر نیاز به دسترسی به خدمات Firebase در سرور خود دارید، Firebase SDK را نصب کنید.

    1. می توانید ماژول Firebase Node.js را با npm نصب کنید:

      $ npm init
      $ npm install --save firebase-admin
      
    2. در کد خود، می توانید با استفاده از زیر به Firebase دسترسی پیدا کنید:

      var admin = require('firebase-admin');
      var app = admin.initializeApp({
        credential: admin.credential.cert('path/to/serviceAccountCredentials.json')
      });
      

در مرحله بعد، مراحل انتقال را برای پلتفرم برنامه خود تکمیل کنید: Android ، iOS ، وب .

سرورها و جاوا اسکریپت

تغییرات قابل توجه

تعدادی تفاوت اضافی در پیاده سازی وب Firebase از Identity Toolkit وجود دارد.

  • مدیریت جلسات وب

    قبلاً، هنگامی که کاربر با استفاده از ابزارک Identity Toolkit احراز هویت می‌کرد، یک کوکی برای کاربر تنظیم می‌شد که برای بوت استرپ جلسه استفاده می‌شد. این کوکی دو هفته عمر داشت و برای اینکه کاربر بتواند از ویجت مدیریت حساب برای تغییر رمز عبور و آدرس ایمیل استفاده کند استفاده می‌شد. برخی از سایت ها از این کوکی برای احراز هویت سایر درخواست های صفحه در سایت استفاده می کنند. سایت های دیگر از کوکی برای ایجاد کوکی های خود از طریق سیستم مدیریت کوکی چارچوب خود استفاده کردند.

    SDKهای مشتری Firebase اکنون توکن های Firebase ID را مدیریت می کنند و با Backend Firebase Authentication کار می کنند تا جلسه را تازه نگه دارند. هنگامی که تغییرات مهم حساب (مانند تغییر رمز عبور کاربر) رخ داده باشد، باطن جلسات منقضی می شود. نشانه‌های Firebase ID به‌طور خودکار به‌عنوان کوکی در کلاینت وب تنظیم نمی‌شوند و فقط یک ساعت عمر دارند. مگر اینکه بخواهید جلسات فقط یک ساعته باشد، نشانه های Firebase ID برای استفاده به عنوان کوکی برای تأیید اعتبار همه درخواست های صفحه شما مناسب نیستند. در عوض، باید برای زمانی که کاربر وارد سیستم می‌شود، یک شنونده تنظیم کنید ، کد Firebase ID را دریافت کنید ، رمز را تأیید کنید ، و کوکی خود را از طریق سیستم مدیریت کوکی چارچوب خود ایجاد کنید.

    شما باید طول عمر جلسه کوکی خود را بر اساس نیازهای امنیتی برنامه خود تنظیم کنید.

  • جریان ورود به وب سایت

    پیش از این، هنگامی که ورود به سیستم شروع شد، کاربران به accountchooser.com هدایت می شدند تا بدانند کاربر می خواهد از چه شناسه ای استفاده کند. جریان Firebase Auth UI اکنون با لیستی از روش‌های ورود به سیستم شروع می‌شود، از جمله یک گزینه ایمیل که برای وب به accountchooser.com می‌رود و از hintRequest API در Android استفاده می‌کند. علاوه بر این، آدرس ایمیل دیگر در رابط کاربری Firebase مورد نیاز نیست. این کار پشتیبانی از کاربران ناشناس، کاربران تأیید اعتبار سفارشی یا کاربران ارائه دهندگانی را که آدرس ایمیل در آنها لازم نیست، آسان تر می کند.

  • ویجت مدیریت حساب

    این ویجت یک رابط کاربری برای کاربران فراهم می کند تا آدرس ایمیل را تغییر دهند، رمز عبور را تغییر دهند یا حساب های خود را با ارائه دهندگان هویت قطع کنند. در حال حاضر در حال توسعه است.

  • دکمه ورود به سیستم/ویجت

    ابزارک‌هایی مانند دکمه ورود به سیستم و کارت کاربر دیگر ارائه نمی‌شوند. آنها را می توان به راحتی با استفاده از Firebase Authentication API ساخت.

  • signOutUrl وجود ندارد

    شما باید firebase.auth.signOut() را فراخوانی کنید و پاسخ تماس را مدیریت کنید.

  • oobActionUrl وجود ندارد

    ارسال ایمیل اکنون توسط Firebase انجام می شود و در کنسول Firebase پیکربندی شده است.

  • سفارشی سازی CSS

    FirebaseUI از سبک Material Design Lite استفاده می کند که به صورت پویا انیمیشن های Material Design را اضافه می کند.

مرحله 1: کد سرور را تغییر دهید

  1. اگر سرور شما برای مدیریت جلسات کاربر وب به نشانه Identity Toolkit (معتبر برای دو هفته) متکی است، باید سرور را برای استفاده از کوکی جلسه خود تبدیل کنید.

    1. یک نقطه پایانی برای اعتبارسنجی کد Firebase ID و تنظیم کوکی جلسه برای کاربر پیاده سازی کنید. برنامه مشتری کد Firebase ID را به این نقطه پایانی ارسال می کند.
    2. اگر درخواست دریافتی حاوی کوکی جلسه شما باشد، می‌توانید کاربر را احراز هویت در نظر بگیرید. در غیر این صورت، درخواست را غیرقابل احراز هویت تلقی کنید.
    3. اگر نمی‌خواهید هیچ یک از کاربران شما جلسات وارد شده موجود خود را از دست بدهند، باید دو هفته منتظر بمانید تا تمام نشانه‌های Identity Toolkit منقضی شوند، یا همچنین اعتبار سنجی توکن دوگانه را برای برنامه وب خود همانطور که در مرحله 3 در زیر توضیح داده شده است انجام دهید.
  2. در مرحله بعد، چون توکن‌های Firebase با توکن‌های Identity Toolkit متفاوت هستند، باید منطق اعتبارسنجی رمز خود را به‌روزرسانی کنید. Firebase Server SDK را روی سرور خود نصب کنید. یا اگر از زبانی استفاده می‌کنید که توسط Firebase Server SDK پشتیبانی نمی‌شود، یک کتابخانه اعتبارسنجی رمز JWT برای محیط خود دانلود کنید و به درستی رمز را تأیید کنید .

  3. وقتی برای اولین بار به‌روزرسانی‌های بالا را انجام می‌دهید، ممکن است همچنان مسیرهای کدی داشته باشید که به نشانه‌های Identity Toolkit متکی هستند. اگر برنامه‌های iOS یا Android دارید، کاربران باید به نسخه جدید برنامه ارتقا دهند تا مسیرهای کد جدید کار کنند. اگر نمی‌خواهید کاربران خود را مجبور کنید برنامه‌تان را به‌روزرسانی کنند، می‌توانید منطق تأیید اعتبار سرور اضافی را اضافه کنید که نشانه را بررسی می‌کند و تعیین می‌کند که آیا نیاز به استفاده از Firebase SDK یا Identity Toolkit SDK برای تأیید اعتبار دارد. اگر فقط یک برنامه وب دارید، تمام درخواست‌های احراز هویت جدید به Firebase منتقل می‌شوند و بنابراین، فقط باید از روش‌های تأیید توکن Firebase استفاده کنید.

مرجع Firebase Web API را ببینید.

مرحله 2: HTML خود را به روز کنید

  1. کد اولیه Firebase را به برنامه خود اضافه کنید:

    1. پروژه خود را در کنسول Firebase باز کنید.
    2. در صفحه نمای کلی، روی افزودن برنامه کلیک کنید، سپس روی افزودن Firebase به برنامه وب خود کلیک کنید. یک قطعه کد که Firebase را مقداردهی اولیه می کند نمایش داده می شود.
    3. قطعه اولیه را کپی کرده و در صفحه وب خود جایگذاری کنید.
  2. FirebaseUI Auth را به برنامه خود اضافه کنید:

    <script src="https://www.gstatic.com/firebasejs/ui/live/0.4/firebase-ui-auth.js"></script>
    <link type="text/css" rel="stylesheet" href="https://www.gstatic.com/firebasejs/ui/live/0.4/firebase-ui-auth.css" />
    <!-- *******************************************************************************************
       * TODO(DEVELOPER): Paste the initialization snippet from:
       * Firebase Console > Overview > Add Firebase to your web app. *
       ***************************************************************************************** -->
    <script type="text/javascript">
      // FirebaseUI config.
      var uiConfig = {
        'signInSuccessUrl': '<url-to-redirect-to-on-success>',
        'signInOptions': [
          // Leave the lines as is for the providers you want to offer your users.
          firebase.auth.GoogleAuthProvider.PROVIDER_ID,
          firebase.auth.FacebookAuthProvider.PROVIDER_ID,
          firebase.auth.TwitterAuthProvider.PROVIDER_ID,
          firebase.auth.GithubAuthProvider.PROVIDER_ID,
          firebase.auth.EmailAuthProvider.PROVIDER_ID
        ],
        // Terms of service url.
        'tosUrl': '<your-tos-url>',
      };
    
      // Initialize the FirebaseUI Widget using Firebase.
      var ui = new firebaseui.auth.AuthUI(firebase.auth());
      // The start method will wait until the DOM is loaded.
      ui.start('#firebaseui-auth-container', uiConfig);
    </script>
    
  3. Identity Toolkit SDK را از برنامه خود حذف کنید.

  4. اگر برای مدیریت جلسه به شناسه شناسه Toolkit متکی هستید، باید تغییرات زیر را در سمت کلاینت انجام دهید:

    1. پس از ورود موفقیت آمیز با Firebase، با فراخوانی firebase.auth().currentUser.getToken() یک نشانه Firebase ID دریافت کنید.

    2. رمز Firebase ID را به سرور پشتیبان ارسال کنید، آن را تأیید کنید و کوکی جلسه خود را صادر کنید.

      هنگام انجام عملیات حساس یا ارسال درخواست های ویرایش احراز هویت شده به سرور خود، تنها به کوکی جلسه اعتماد نکنید. شما باید محافظت بیشتری از جعل درخواست بین سایتی (CSRF) ارائه دهید.

      اگر فریمورک شما حفاظت CSRF را ارائه نمی‌کند، یکی از راه‌های جلوگیری از حمله دریافت کد Firebase ID برای کاربر واردشده با getToken() و گنجاندن توکن با هر درخواست است (کوکی جلسه نیز به‌طور پیش‌فرض ارسال می‌شود. ). سپس آن توکن را با استفاده از SDK سرور Firebase علاوه بر بررسی کوکی جلسه، که چارچوب backend شما تکمیل کرد، تأیید می‌کنید. این کار موفقیت حملات CSRF را سخت‌تر می‌کند، زیرا رمز Firebase ID فقط با استفاده از فضای ذخیره‌سازی وب و هرگز در یک کوکی ذخیره نمی‌شود.

    3. نشانه های Identity Toolkit به مدت دو هفته معتبر هستند. ممکن است بخواهید به انتشار توکن هایی که دو هفته طول می کشد ادامه دهید، یا ممکن است بخواهید بر اساس الزامات امنیتی برنامه خود، آن را طولانی تر یا کوتاه تر کنید. وقتی کاربر از سیستم خارج شد، کوکی جلسه را پاک کنید.

مرحله 3: URL های تغییر مسیر IDP را به روز کنید

  1. در کنسول Firebase، بخش Authentication را باز کرده و روی زبانه Sign-in Method کلیک کنید.

  2. برای هر ارائه‌دهنده ورود به سیستم فدرالی که پشتیبانی می‌کنید، موارد زیر را انجام دهید:

    1. روی نام ارائه دهنده ورود به سیستم کلیک کنید.
    2. URI تغییر مسیر OAuth را کپی کنید.
    3. در کنسول توسعه دهنده ارائه دهنده ورود به سیستم، URI تغییر مسیر OAuth را به روز کنید.

اندروید

مرحله 1: Firebase را به برنامه خود اضافه کنید

  1. کنسول Firebase را باز کنید و پروژه Identity Toolkit خود را که قبلا وارد کرده اید انتخاب کنید.

  2. در صفحه نمای کلی، روی افزودن برنامه کلیک کنید و سپس روی افزودن Firebase به برنامه Android خود کلیک کنید. در گفتگوی افزودن Firebase، نام بسته برنامه و اثر انگشت گواهی امضای خود را وارد کنید و روی افزودن برنامه کلیک کنید. سپس فایل پیکربندی google-services.json در رایانه شما دانلود می شود.

  3. فایل پیکربندی را در فهرست اصلی ماژول برنامه اندروید خود کپی کنید. این فایل پیکربندی حاوی اطلاعات پروژه و سرویس گیرنده Google OAuth است.

  4. در فایل build.gradle در سطح پروژه ( <var>your-project</var>/build.gradle )، نام بسته برنامه خود را در قسمت defaultConfig مشخص کنید:

    defaultConfig {
       …..
      applicationId "com.your-app"
    }
    
  5. همچنین در فایل build.gradle در سطح پروژه خود، یک وابستگی اضافه کنید تا افزونه google-services را نیز شامل شود:

    buildscript {
     dependencies {
       // Add this line
       classpath 'com.google.gms:google-services:3.0.0'
     }
    }
    
  6. در فایل build.gradle در سطح برنامه برنامه خود ( <var>my-project</var>/<var>app-module</var>/build.gradle )، خط زیر را به پایین اضافه کنید تا Google- افزونه خدمات:

    // Add to the bottom of the file
    apply plugin: 'com.google.gms.google-services'
    

    افزونه google-services از فایل google-services.json برای پیکربندی برنامه شما برای استفاده از Firebase استفاده می کند.

  7. همچنین در فایل build.gradle سطح App، وابستگی Firebase Authentication را اضافه کنید:

    compile 'com.google.firebase:firebase-auth:22.3.1'
    compile 'com.google.android.gms:play-services-auth:21.1.0'
    

مرحله 2: Identity Toolkit SDK را حذف کنید

  1. پیکربندی Identity Toolkit را از فایل AndroidManifest.xml حذف کنید. این اطلاعات در فایل google-service.json گنجانده شده و توسط افزونه google-services بارگذاری شده است.
  2. Identity Toolkit SDK را از برنامه خود حذف کنید.

مرحله 3: FirebaseUI را به برنامه خود اضافه کنید

  1. FirebaseUI Auth را به برنامه خود اضافه کنید.

  2. در برنامه خود، تماس‌های Identity Toolkit SDK را با تماس‌های FirebaseUI جایگزین کنید.

iOS

مرحله 1: Firebase را به برنامه خود اضافه کنید

  1. با اجرای دستورات زیر Firebase SDK را به برنامه خود اضافه کنید:

    $ cd your-project directory
    $ pod init
    $ pod 'Firebase'
    
  2. کنسول Firebase را باز کنید و پروژه Identity Toolkit خود را که قبلا وارد کرده اید انتخاب کنید.

  3. در صفحه نمای کلی، روی افزودن برنامه کلیک کنید و سپس روی افزودن Firebase به برنامه iOS خود کلیک کنید. در گفتگوی افزودن Firebase، شناسه بسته نرم افزاری و شناسه فروشگاه App خود را ارائه کنید و سپس روی افزودن برنامه کلیک کنید. سپس فایل پیکربندی GoogleService-Info.plist در رایانه شما دانلود می شود. اگر چندین شناسه بسته در پروژه خود دارید، هر شناسه بسته باید در کنسول Firebase متصل شود تا بتواند فایل GoogleService-Info.plist خود را داشته باشد.

  4. فایل پیکربندی را در ریشه پروژه Xcode خود کپی کنید و آن را به همه اهداف اضافه کنید.

مرحله 2: Identity Toolkit SDK را حذف کنید

  1. GoogleIdentityToolkit از Podfile برنامه خود حذف کنید.
  2. دستور pod install را اجرا کنید.

مرحله 3: FirebaseUI را به برنامه خود اضافه کنید

  1. FirebaseUI Auth را به برنامه خود اضافه کنید.

  2. در برنامه خود، تماس‌های Identity Toolkit SDK را با تماس‌های FirebaseUI جایگزین کنید.