برنامههای وب برای فراخوانی امن APIهای گوگل باید یک توکن دسترسی دریافت کنند.
کتابخانه جاوا اسکریپت Google Identity Services از هر دو فرآیند احراز هویت برای ورود کاربر و مجوزدهی برای دریافت توکن دسترسی جهت استفاده با APIهای گوگل پشتیبانی میکند. این کتابخانه فقط برای استفاده در مرورگرها در نظر گرفته شده است.
احراز هویت، هویت یک فرد را مشخص میکند و معمولاً به عنوان ثبت نام یا ورود کاربر شناخته میشود. مجوزدهی فرآیند اعطای یا رد دسترسی به دادهها یا منابع است. این شامل اخذ و مدیریت رضایت کاربر، محدود کردن میزان دادهها یا منابع به اشتراک گذاشته شده با دامنهها و بازیابی یک توکن دسترسی برای استفاده با APIهای گوگل میشود.
این راهنماها مباحث مربوط به مجوزها و اشتراکگذاری دادهها را پوشش میدهند.
نحوهی عملکرد مجوزدهی کاربر، مراحل جداگانهی مجوزدهی کاربر را با جزئیات شرح میدهد و شامل نمونههایی از کادر محاورهای کاربر است.
اگر به دنبال کمک در مورد احراز هویت و نحوه پیادهسازی ثبتنام و ورود کاربر هستید ، به «ورود با گوگل» مراجعه کنید.
این کتابخانه برای استفاده با چارچوبهای جاوا اسکریپت سمت سرور مانند Node.js در نظر گرفته نشده است، در عوض از کتابخانه کلاینت Node.js گوگل استفاده کنید.
چه چیزی تغییر کرده است؟
برای کاربران، کتابخانه Google Identity Services پیشرفتهای کاربردی متعددی نسبت به کتابخانههای قبلی جاوا اسکریپت ارائه میدهد، از جمله:
- احراز هویت برای ورود کاربر و مجوز برای دریافت توکن دسترسی جهت فراخوانی APIهای گوگل، اکنون دو جریان کاربری مجزا و متمایز دارد؛ یکی برای ورود و دیگری برای رضایت در طول مجوز، با جریانهای کاربری جداگانه تا به وضوح مشخص شود که شما چه کسی هستید، از آنچه یک برنامه میتواند انجام دهد.
- بهبود دید و کنترل جزئیتر بر اشتراکگذاری دادهها در زمان رضایت کاربر .
- دیالوگهای مبتنی بر مرورگر برای کاهش اصطکاک، و بدون نیاز به ترک سایت شما توسط کاربران برای:
- یک توکن دسترسی از گوگل دریافت کنید، یا
- یک کد مجوز به پلتفرم بکاند خود ارسال کنید.
برای توسعهدهندگان، تمرکز ما بر کاهش پیچیدگی، بهبود امنیت و سادهسازی ادغام شما بوده است. برخی از این تغییرات عبارتند از:
- احراز هویت کاربر برای ورود به سیستم و مجوزدهی مورد استفاده برای دریافت توکن دسترسی جهت فراخوانی APIهای گوگل، دو مجموعه مجزا و متمایز از اشیاء و متدهای جاوا اسکریپت هستند. این امر پیچیدگی و میزان جزئیات مورد نیاز برای پیادهسازی احراز هویت یا مجوزدهی را کاهش میدهد.
- یک کتابخانه جاوا اسکریپت اکنون از هر دو مورد زیر پشتیبانی میکند:
- جریان ضمنی OAuth 2.0، برای دریافت توکن دسترسی جهت استفاده در مرورگر استفاده میشود.
- جریان کد مجوز OAuth 2.0، که به عنوان دسترسی آفلاین نیز شناخته میشود، ارسال امن یک کد مجوز به پلتفرم backend شما را آغاز میکند، جایی که میتوان آن را با یک توکن دسترسی و توکن refresh مبادله کرد. پیش از این، این جریانها فقط با استفاده از چندین کتابخانه و از طریق تماسهای مستقیم با نقاط پایانی OAuth 2.0 در دسترس بودند. یک کتابخانه واحد، زمان و تلاش ادغام شما را کاهش میدهد، به جای گنجاندن و یادگیری چندین کتابخانه و مفاهیم OAuth 2.0، میتوانید روی یک رابط واحد و یکپارچه تمرکز کنید.
- برای سادگی و خوانایی بیشتر، غیرمستقیمسازی از طریق توابع سبک getter حذف شده است.
- هنگام مدیریت پاسخهای مجوز، شما انتخاب میکنید که آیا از یک Promise برای انجام درخواستها استفاده کنید یا خیر، به جای اینکه این تصمیم برای شما گرفته شود.
- کتابخانه کلاینت API گوگل برای جاوا اسکریپت با این تغییرات بهروزرسانی شده است:
- ماژول
gapi.auth2و اشیاء و متدهای مرتبط دیگر به طور خودکار در پشت صحنه برای شما بارگیری نمیشوند و با اشیاء و متدهای کتابخانهای صریحتر Google Identity Services جایگزین شدهاند. - بهروزرسانی خودکار توکنهای دسترسی منقضیشده برای بهبود امنیت و آگاهی کاربر حذف شده است. پس از انقضای توکن دسترسی، برنامه شما باید پاسخهای خطای API گوگل را مدیریت کند، درخواست دهد و یک توکن دسترسی جدید و معتبر دریافت کند.
- برای پشتیبانی از تفکیک واضح لحظات احراز هویت و مجوزدهی، ورود همزمان کاربر به برنامه و حساب گوگل او و در عین حال صدور توکن دسترسی، دیگر پشتیبانی نمیشود. پیش از این، درخواست توکن دسترسی، کاربران را به حساب گوگل آنها نیز وارد میکرد و یک اعتبارنامه توکن JWT ID برای احراز هویت کاربر برمیگرداند.
- ماژول
- برای افزایش امنیت و حریم خصوصی کاربر، اعتبارنامههای هر کاربر که برای مجوز صادر میشوند، از اصل حداقل امتیاز پیروی میکنند و فقط شامل یک توکن دسترسی و اطلاعات مورد نیاز برای مدیریت آن هستند.