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

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

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

احراز هویت فایربیس در حال حاضر نسبت به ابزار هویت گوگل (Google Identity Toolkit) پیشرفت‌های قابل توجهی در ویژگی‌های خود دارد:

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

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

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

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

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

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

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

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

  • SDK های جدید

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

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

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

  • احراز هویت ناشناس و گیت‌هاب

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

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

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

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

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

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

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

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

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

  • ایمیل‌های مدیریت حساب

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

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

    در Identity Toolkit، وقتی کاربری تصمیم به تغییر آدرس ایمیل خود می‌گیرد، ایمیلی به آدرس جدید ارسال می‌شود که حاوی لینکی برای ادامه روند تغییر آدرس ایمیل است.

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

  • اجرای طرح آوارگی داخلی

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

اختلافات طرف مشتری

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

  • SDK های احراز هویت فایربیس

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

  • احراز هویت FirebaseUI

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

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

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

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

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

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

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

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

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

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

  5. به کنسول فایربیس برگردید. در بخش 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')
      });
      

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • بدون signOutUrl

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

  • بدون آدرس اقدام oob

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

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

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

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

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

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

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

به مرجع API وب فایربیس مراجعه کنید.

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

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

    1. پروژه خود را در کنسول Firebase باز کنید.
    2. در صفحه مرور کلی، روی «افزودن برنامه» کلیک کنید، سپس روی «افزودن فایربیس به برنامه وب خود» کلیک کنید. قطعه کدی که فایربیس را مقداردهی اولیه می‌کند نمایش داده می‌شود.
    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. SDK مربوط به Identity Toolkit را از برنامه خود حذف کنید.

  4. اگر برای مدیریت جلسه به توکن ID کیت ابزار هویت (Identity Toolkit ID token) متکی بوده‌اید، باید تغییرات زیر را در سمت کلاینت اعمال کنید:

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

    2. توکن Firebase ID را به سرور backend ارسال کنید، آن را اعتبارسنجی کنید و کوکی جلسه خود را صادر کنید.

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

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

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

مرحله ۳: به‌روزرسانی آدرس‌های اینترنتی تغییر مسیر IDP

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

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

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

اندروید

مرحله ۱: اضافه کردن فایربیس به برنامه

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

  2. در صفحه مرور کلی، روی «افزودن برنامه» کلیک کنید و سپس روی «افزودن فایربیس به برنامه اندروید خود» کلیک کنید. در کادر محاوره‌ای «افزودن فایربیس»، نام بسته برنامه و اثر انگشت گواهی امضای آن را وارد کنید و روی «افزودن برنامه» کلیک کنید. سپس فایل پیکربندی 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. در فایل app-level build.gradle برنامه‌تان ( <var>my-project</var>/<var>app-module</var>/build.gradle )، خط زیر را به انتهای آن اضافه کنید تا افزونه google-services فعال شود:

    // 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:24.0.1'
    compile 'com.google.android.gms:play-services-auth:21.5.0'
    

مرحله ۲: حذف SDK مربوط به Identity Toolkit

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

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

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

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

آی‌او‌اس

مرحله ۱: اضافه کردن فایربیس به برنامه

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

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

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

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

مرحله ۲: حذف SDK مربوط به Identity Toolkit

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

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

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

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