ورود با شبکههای اجتماعی - REST
کاربران با استفاده از روش «ورود با حسابهای کاربری وبسایتهای معتبر و یا شبکههای اجتماعی» (مانند گوگل، اینستاگرام و …) می توانند بدون وارد کردن اطلاعات خود، اعتبارسنجی و ثبت نام شوند. همچنین توسعهدهندگان اپلیکیشن می توانند اطلاعات مورد نیاز کاربر را با توجه به حساب کاربری وی در این گونه وبسایت ها و یا شبکه های اجتماعی بگیرند.
نکته: در صورتی که با مفهوم REST و سرویسهای سمت سرور و یا با دستور curl آشنایی ندارید، به آشنایی با REST مراجعه کنید.
پیشنیازها
- در صورتی که با سرویس کاربران آشنایی ندارید، به معرفی سرویس کاربران مراجعه کنید.
- در صورتی که هنوز در پنل توسعهدهنده خود تنظیمات لازم برای سرویس کاربران را انجام ندادهاید، به تنظیمات پنل مراجعه کنید.
نحوهی کار ورود با حساب کاربری گوگل
ورود با گوگل یک روش امن احراز هویت است که به کاربران اجازه میدهد از حساب کاربری گوگل خود – همان حسابی که برای Gmail، Play، Drive و سایر سرویسهای Google استفاده میکنند – برای وارد شدن به یک برنامه یا سرویس دیگر (در اینجا بکتوری) بهره ببرند و بدین وسیله سختی عمل ورود را برای آنان کاهش داده، تجربهی کاربری بهتری را فراهم کند.
به منظور راه اندازی این سرویس ما از اعتبارسنجی دو مرحلهای در گوگل استفاده مینماییم. به این ترتیب که در سمت client پس از اینکه کاربر وارد حساب گوگل خود شد، از گوگل درخواست یک کد یکبار مصرف برای دسترسی به اطلاعات پایهی آن حساب کاربری کرده و سپس آن کد را به سرور بکتوری ارسال می کند. سرور بکتوری اطلاعات مورد نیاز کاربر را با توجه به کد ارسال شده می گیرد و او را ثبتنام و وارد کرده، جواب عملیات ورود را به client ارسال میکند. مراحل گفته شده را می توانید بصورت کلی در شکل زیر مشاهده نمایید (برای کسب اطلاعات بیشتر اینجا را مطالعه کنید.)
به منظور استفاده از این سرویس شما میبایست برای محصول خود یک پروژه در کنسول توسعهدهندگان گوگل یا پنل فایربیس ایجاد کنید و مقادیر Client Id و Client Secret مربوط به Web Application را به بکتوری بدهید. در این مستند ما بر اساس کنسول توسعه دهندگان گوگل پیش میرویم. اما همان رویه در پنل فایربیس نیز برقرار است.
ساخت پروژه در کنسول توسعه دهندگان گوگل
- به کنسول توسعه دهندگان گوگل بروید و یک پروژه جدید بسازید.
-
از منوی APIs & services، زیرمنوی Credentials را انتخاب کنید.
-
تب OAuth consent screen را انتخاب و فرم را پر کنید. دقت کنید که فقط دو فیلد ایمیل و نام محصول اجباری هستند.
-
تب Credentials را انتخاب کنید و روی دکمه Create credentials کلیک کنید. از منوی باز شده گزینه OAuth Client ID را انتخاب کنید.
-
در صفحهی باز شده مورد Web application را انتخاب کنید. نام دلخواهی به این client داده و سپس در قسمت Restrictions برای Authorised redirect URIs ادرس
http://localhost:8043
را وارد کنید و save کنید (نیازی به پر کردن سایر فیلدها نیست.) -
از pop up باز شده، Client ID و Client secret را کپی کنید (این اطلاعات بعدا از طریق client ذخیره شده قابل دسترسی است.)
توجه: در صورتی که بخواهید در برنامهی اندرویدیتان از لاگین با گوگل بهره ببرید، باید یک Android OAuth client نیز بسازید که توضیحات آن در بخش اندروید آمده است.
تنظیمات پنل بکتوری
به پنل بکتوری و قسمت تنظیمات سرویس کاربران بروید و Web client ID و Web Client Secret را که در مرحلهی قبل کپی کرده بودید، وارد کرده و ذخیره کنید.