مهاجرت از Google Identity Toolkit به Google Cloud's Identity Platform

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

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

Identity Platform نسبت به Google Identity Toolkit پیشرفت‌های قابل توجهی در ویژگی‌ها دارد:

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

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

  • روش های جدید احراز هویت

    Identity Platform از استانداردهای فدراسیون سازمانی مانند SAML و OIDC پشتیبانی می کند و به شما امکان می دهد برنامه ها و سرویس های SaaS را مقیاس بندی کنید. Identity Platform همچنین از ارائه دهندگانی مانند GitHub، Microsoft، Yahoo و غیره پشتیبانی می کند. می‌توانید از ورود ناشناس برای ایجاد یک شناسه کاربری منحصربه‌فرد استفاده کنید، بدون اینکه کاربر مجبور به انجام هر گونه فرآیند ورود یا ثبت‌نام شود. این به شما امکان می دهد تا تماس های API احراز هویت شده را همانطور که با یک کاربر معمولی انجام می دهید برقرار کنید. هنگامی که کاربر تصمیم می گیرد برای یک حساب ثبت نام کند، تمام فعالیت ها با همان شناسه کاربری حفظ می شود. این برای سناریوهایی مانند سبد خرید سمت سرور یا سایر برنامه‌هایی که می‌خواهید کاربر را قبل از ارسال از طریق جریان ثبت‌نام درگیر کنید، ارزشمند است.

  • مقیاس بندی با اطمینان با توافق نامه های سطح خدمات و پشتیبانی ابری

    Identity Platform بر اساس زیرساخت قابل اعتماد Google ساخته شده است و قراردادهای سطح سرویس و پشتیبانی از Google Cloud را ارائه می دهد. این بدان معنی است که می توانید خدمات خود را با اطمینان مقیاس دهید و برای ارائه انعطاف پذیری، در دسترس بودن و مقیاس پذیری مورد نیاز خود به Google تکیه کنید.

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

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

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

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

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

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

  • SDK های جدید

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • عرضه IDP

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

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

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

  • SDK های کلاینت و سرور

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

  • ویجت رابط کاربری

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

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

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

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

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

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

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

  2. از Marketplace، به Identity Platform بروید و "Enable Identity Platform" را انتخاب کنید.

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

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

  5. به کنسول Cloud برگردید. در بخش ارائه دهندگان، در روش ورود به سیستم ایمیل/رمز عبور، صفحه الگوهای ایمیل را باز کنید. سپس می توانید قالب های برنامه خود را سفارشی کنید.

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

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

    1. می‌توانید Node.js Admin SDK را با 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 ، وب .

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

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

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

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

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

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

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

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

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

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

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

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

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

  • signOutUrl وجود ندارد

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

  • oobActionUrl وجود ندارد

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

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

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

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

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

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

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

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

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

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

    1. پروژه خود را در کنسول Cloud باز کنید.
    2. در صفحه ارائه دهندگان ، روی Application Setup Details کلیک کنید. یک قطعه کد که Identity Platform را مقداردهی اولیه می کند نمایش داده می شود.
    3. قطعه اولیه را کپی کرده و در صفحه وب خود جایگذاری کنید.
  2. ویجت احراز هویت را به برنامه خود اضافه کنید:

    <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. پس از موفقیت در ورود به سیستم با Identity Platform، با فراخوانی firebase.auth().currentUser.getToken() یک کد شناسه دریافت کنید.

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

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

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

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

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

  1. در Cloud Console ، بخش Providers را باز کنید.

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

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

اندروید

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

  1. Cloud Console را باز کنید و پروژه Identity Toolkit خود را انتخاب کنید.

  2. در صفحه ارائه دهندگان، روی جزئیات تنظیم برنامه کلیک کنید، برگه Android را انتخاب کنید و سپس روی شروع در Firebase کلیک کنید. در گفتگوی افزودن 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 سطح App برنامه خود ( <var>my-project</var>/<var>app-module</var>/build.gradle )، خط زیر را بعد از افزونه Android Gradle اضافه کنید تا فعال شود افزونه google-services:

    apply plugin: 'com.android.application'
    // Add this line
    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. با اجرای دستورات زیر، SDK مشتری را به برنامه خود اضافه کنید:

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

  3. در صفحه ارائه دهندگان، روی جزئیات تنظیم برنامه کلیک کنید، برگه iOS را انتخاب کنید و سپس روی شروع در Firebase کلیک کنید. در گفتگوی افزودن Firebase، نام بسته برنامه و اثر انگشت گواهی امضای خود را وارد کنید و روی افزودن برنامه کلیک کنید. سپس فایل پیکربندی google-services.json در رایانه شما دانلود می شود. در گفتگوی افزودن 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 جایگزین کنید.