۱۰ ساعت طول کشید تا یکار کنم همه چیش درست کار کنه. یک سری تنظیمات تو گوگل هست که هرجایی توضیح داده نشده و معمولا میزارن به عهده خودتون و نمیگن کدوم کتابخونه باید فعال شه تا شما بعد از ورود یا ثبت نام توسط گوگل بتونید به نام و نام خانوادگی و ایمیل کاربر دسترسی داشته باشید. خب تو این آموزش نحوه ثبت نام با گوگل در اپلیکیشن nodejs و قراره یاد بگیریم و در واقع میخوایم ببینیم چطوری تو اپلیکیشن nodejs ای که درست کردیم، با گوگل authenticate کنیم.
آموزش تو اینترنت پره و هرکیم هرجور تونسته توضیح داده ولی نکته مهم اینه که گوگل هر دیقه داره بروزرسانی میکنه و اگه تا دیروز شما باید کتابخونه google+ رو اضافه میکردی، الان دیگه باید بجای اون از google people api استفاده کنی.
اگه بخش تنظیمات گوگل و بلدین یا نیاز ندارید یاد بگیرید میتونید برید سراغ قسمت دوم که توش مستقیم توضیح دادیم با توکن هایی که گوگل در اختیارتون میزارن چطوری باید کار کنید و ارتباط برقرار کنید. پس مقاله چطوری گوگل و تو nodejs کانفیگ کنیم و بخونید.
سناریو یا الگوریتم داستان از این قراره: یک url با توابعی که گوگل در اختیارمون گذاشته درست میکنیم و کاربر رو هدایت میکنیم به اون آدرس، بعد از ورود به اون آدرس کاربر انتخاب میکنه با کدوم حسابش میخواد وارد بشه یا اصلا نام کاربری و رمز عبورشو وارد میکنه و بعد از اون ، گوگل در صورت موفقیت آمیز بودن ورود کاربر، انتقالش میده به آدرس callback که ما تو کد اونو تعریف کردیم و تو کنسول گوگل بهش شناسوندیم. روی آدرس callback هم یک سری موارد رو گوگل با متد GET برامون میفرسته و باید اونارو دوباره با توابعی که در اختیارمون گذاشته ، تبدیل کنیم به زبون آدمیزاد که دربیاریم ببینیم کیه لاگین کرده.
خب تو این مقاله قراره یاد بگیریم:
- تنظیمات گوگل ، ساخت پروژه در گوگل ، ایجاد OAuth و در نهایت گرفتن اطلاعات نام ، نام خانوادگی ، عکس و ایمیل کاربر
- ارتباط اپلیکیشن nodejs با گوگل و رد و بدل کردن اطلاعات
ادبیاتم یکم تخیلیه به بزرگی خودتون ببخشید
خب بریم تو کارش
تنظیم پروژه گوگل برای دسترسی به OAuth و اطلاعات کاربران
اول از همه تشریف ببرید به کنسول گوگل و پروژه گوگل بسازید
حالا که پروژه رو ساختین تشریف ببرید به قسمت کتابخانه های گوگل یا همون صفحه Google API’s library ، توی سرچ بار بنویسید “people”
روی “Google people API” کلیک کنید و بعدش روی “Enable” کلیک کنید. از طریق این api میتونیم به نام، نام خانوادگی، لقب، ایمیل، عکس و آدرس های کابری که میخواد لاگین کنه دسترسی داشته باشیم. اوکی؟ این خیلی مهمه. تو آموزش های دیگه از api گوگل پلاس استفاده کردن که مثل اینکه سلطان منسوخش کرده.
حالا روی “create credentials” کلیک کنید.
روی صفحه create credentials ازمون چنتا سوال میپرسه. بسته به اپلیکیشنتون کانفیگش کنید. خدایی خیلی سخته فارسی توضیح دادن، نصف جمله انگلیسیه تو داری فارسی مینویسی. بگذریم. اون api ای که تو صفحه های قبل انتخاب کردید یعنی people API رو انتخاب کنید اینجا و باقی تنظیمات هم شما میدونید چون بستگی به پروژتون داره. اگه سوالی داشتین بپرسین توضیح میدم. خدایی تاحالا اپ و زده بودیم تموم شده بود خیلی داستان داره این گوگل. حالا باید OAuth 2.0 client ID بسازیم. من دارم روی آدرس “localhost:3000” کار میکنم و گوگل مثل عکس زیر دارم تنظیم میکنم:
Authorized redirect URIs همون آدرس کال بکی هست که داریم روی پروژمون تنظیم میکنم. گوگل بعد از ورود کاربر اطلاعات رو روی آدرس کال بک میفرسته. و شما باید بخونیدش و بهش دسترسی پیدا کنید. روی ریفرش که کلیک کنید مارو انتقال میده به صفحه OAuth consent screen
فیلد هارو پر کنید: Application name , Application logo if you have one of course , Support email , Authorized domains , Authorized domains , Application Privacy Policy link.
روی add scope نمیخواد کلیک کنید یا کاری کنید مگر اینکه خودتون میدونید توش چخبره. تو این قسمت اون دسترسی هایی که از گوگل میخوان و وارد میکنن که ندونی چی به چیه یذره دردسره
فرم و اینطوری پر کردم:
حالا روی ذخیره کلیک کن و به صفحه “Credentials” برگردید. مانند زیر روی آیکن مداد سمت راست کنار آیکن سطل آشغال کلیک کنید که بتونید واردش بشید.
after clicking on pencil you will see page below:
خب این قسمت تموم شد. “Client Id و Client secret” رو کپی کنید برای اتصال به پروژه نیازش داریم. حالا گوگل داستان آمادست و میریم سراغ بخش بعد که یاد میگیرید چطوری گوگل رو به nodejs وصل کنیم.
دیدگاهتان را بنویسید