مجموعه های خود را بهینه کنید و محتوا را مطابق با تنظیمات خود طبقه بندی کنید.
توجه داشته باشید. استفاده از اجرای Google OAuth 2. 0 توسط سیاستمداران OAUTH 2. 0 تنظیم می شود.
Google API از پروتکل OAuth 2. 0 برای تأیید اعتبار و مجوز استفاده می کند. Google از سناریوهای مشترک OAUTH 2. 0 پشتیبانی می کند ، به عنوان مثال ، برای یک سرور وب ، قسمت مشتری ، برنامه های نصب شده و برنامه های ورودی داده محدود.
برای شروع ، داده های حسابداری مشتری OAUTE 2. 0 را از پرونده کنسول Google API دریافت کنید. سپس درخواست مشتری شما درخواست دسترسی به نشانه های سرور مجوز Google را می دهد ، یک نشانه را از یک پاسخ استخراج می کند و یک نشانه را به Google API ارسال می کند ، که می خواهید به آن دسترسی پیدا کنید. برای نمایش تعاملی از استفاده از OAuth 2. 0 با Google (از جمله امکان استفاده از داده های حسابداری مشتری خود) ، با زمین بازی OAUTH 2. 0 آزمایش کنید.
در این صفحه مروری بر سناریوهای مجوز OAUTH 2. 0 پشتیبانی شده توسط Google ارائه شده است و پیوندهایی به اطلاعات دقیق تر ارائه شده است. اطلاعات بیشتر در مورد استفاده از OAUTH 2. 0 برای تأیید اعتبار ، به OpenID Coect مراجعه کنید.
توجه داشته باشید. با توجه به عواقب اجرای صحیح برای امنیت ، ما اکیداً توصیه می کنیم که هنگام تعامل با نقاط نهایی Google OAuth 2. 0 از کتابخانه های OUTE 2. 0 استفاده کنید. بهتر است از کد چاه تهیه شده توسط دیگران استفاده کنید و این به شما کمک می کند تا از خود و کاربران خود محافظت کنید. برای اطلاعات بیشتر ، به بخش کتابخانه های مشتری مراجعه کنید.
مراحل اساسی
همه برنامه ها هنگام دسترسی به API Google با استفاده از OAUTH 2. 0 از الگوی پایه پیروی می کنند. در سطح بالایی ، پنج مرحله را بردارید:
1. داده های حسابداری OAUTH 2. 0 را از کنسول Google API دریافت کنید.
برای دریافت داده های حسابداری OAUTH 2. 0 مانند شناسه مشتری و راز مشتری که به Google و برنامه شما شناخته می شوند ، به کنسول Google API مراجعه کنید. مجموعه مقادیر بستگی به این دارد که چه نوع برنامه ای ایجاد می کنید. به عنوان مثال ، برنامه JavaScript نیازی به راز ندارد و برنامه وب سرور لازم است.
2. از سرور مجوز Google یک نشانه دسترسی دریافت کنید.
قبل از اینکه برنامه شما بتواند با استفاده از Google API به داده های شخصی دسترسی پیدا کند ، باید به نشانه هایی دسترسی پیدا کند که دسترسی به این API را فراهم می کند. یک نشانه دسترسی می تواند درجات مختلفی از دسترسی به چندین API را فراهم کند. یک پارامتر متغیر به نام دامنه مجموعه ای از منابع و عملیات را کنترل می کند که مجوز را نشان می دهد. در طول توکن درخواست ، برنامه شما یک یا چند مقدار را در پارامتر دامنه ارسال می کند.
روش های مختلفی برای ارائه این درخواست وجود دارد و بسته به نوع کاربردی که ایجاد می کنید متفاوت است. به عنوان مثال ، برنامه JavaScript می تواند با هدایت مرورگر به Google ، نشانه های دسترسی را درخواست کند ، در حالی که برنامه نصب شده بر روی دستگاه بدون مرورگر از درخواست های سرویس وب استفاده می کند.
هنگامی که کاربر در حساب Google خود گنجانده شده است ، برخی از درخواست ها به مرحله احراز هویت نیاز دارند. پس از ورود کاربر ، آنها سؤال می کنند که آیا آماده ارائه یک یا چند مجوز درخواست شده توسط برنامه شما هستند. این روند نامیده می شود.
اگر کاربر حداقل یک وضوح را ارائه دهد ، سرور مجوز Google برنامه Access Token (یا کد مجوز را که برنامه شما می تواند برای دستیابی به نشانه دسترسی استفاده کند) و لیستی از مناطق دسترسی ارائه شده توسط این نشانه ارسال می کند. اگر کاربر مجوز را ارائه ندهد ، سرور خطایی را برمی گرداند.
به عنوان یک قاعده ، توصیه می شود در زمان نیاز به دسترسی ، به تدریج مناطق را درخواست کنید ، و نه از قبل. به عنوان مثال ، برنامه ای که می خواهد حفظ این رویداد را در تقویم حفظ کند ، نباید درخواست دسترسی به تقویم Google را تا زمانی که کاربر روی دکمه "اضافه کردن به تقویم" کلیک کند. مجوز اضافی را ببینید.
3. مناطق دسترسی ارائه شده توسط کاربر را مطالعه کنید.
بسته به دسترسی به API Google مربوطه ، زمینه های موجود در پاسخ به نشانه دسترسی را با مناطقی که برای دسترسی به توابع و کارکردهای برنامه خود هستند ، مقایسه کنید. تمام کارکردهای برنامه خود را که بدون دسترسی به API مربوطه نمی توانند کار کنند ، جدا کنید.
منطقه موجود در درخواست شما ممکن است با منطقه موجود در پاسخ شما مطابقت نداشته باشد ، حتی اگر کاربر تمام مناطق درخواست شده را ارائه داده باشد. برای مناطق لازم برای دسترسی با اسناد مربوط به هر API Google تماس بگیرید. API می تواند چندین مقادیر خط عمل را با یک منطقه دسترسی مقایسه کند و همان خط منطقه را برای تمام مقادیر مجاز در درخواست بازگرداند. مثال: Google People API می تواند منطقه https://www. googleapis. com/auth/contacts را برگرداند ، هنگامی که درخواست درخواست مجوز منطقه https://www. google. com/m8/feeds/ را دارد. برای People. updatecontact API Google People ، منطقه ارائه شده https://www. googleapis. com/autacts لازم است.
4- نشانه دسترسی را به API ارسال کنید.
پس از دریافت یک برنامه دسترسی ، یک نشانه به Google API در عنوان درخواست خودکار سازی HTTP ارسال می کند. شما می توانید نشانه ها را به عنوان پارامترهای خط درخواست URI ارسال کنید ، اما ما این را توصیه نمی کنیم ، زیرا پارامترهای URI ممکن است در پرونده های ژورنال باشد که کاملاً بی خطر نیستند. علاوه بر این ، توصیه می شود از ایجاد پارامترهای غیر ضروری URI جلوگیری کنید.
نشانگرهای دسترسی فقط برای مجموعه ای از عملیات و منابع شرح داده شده در محدوده درخواست نشانگر معتبر هستند. به عنوان مثال ، اگر یک نشانه دسترسی برای API Google Calendar API صادر شود ، دسترسی به API مخاطبین Google را فراهم نمی کند. با این حال ، شما می توانید این نشانه دسترسی را چندین بار به تقویم Google API ارسال کنید تا عملیات مشابهی را انجام دهید.
5- در صورت لزوم ، نشانه دسترسی را به روز کنید.
Tokens Access عمر خدمات محدودی دارند. اگر برنامه شما پس از انقضا یک نشانه دسترسی ، به API Google دسترسی دارد ، می تواند یک نشانه به روزرسانی را دریافت کند. Token Update به برنامه شما اجازه می دهد تا نشانه های دسترسی جدید را دریافت کند.
توجه داشته باشید. نشانه های به روزرسانی را در یک ذخیره طولانی مدت ایمن نگه دارید و در حالی که معتبر هستند ، به استفاده از آنها ادامه دهید. این محدودیت ها در مورد تعداد نشانگرهای تمدید صادر شده برای ترکیب مشتری مشتری برای هر کاربر در کلیه مشتریان اعمال می شود و این محدودیت ها متفاوت است. اگر درخواست شما تعداد کافی از نشانه های بروزرسانی را برای فراتر از یکی از محدودیت ها درخواست می کند ، به روزرسانی های قدیمی کار را متوقف می کنند.
سناریوها
برنامه های سرور وب
نکته نهایی Google OAuth 2. 0 از برنامه های سرور وب پشتیبانی می کند که از زبانها و سیستم عامل هایی مانند PHP ، Java ، Python ، Ruby و ASP. NET استفاده می کنند.
دنباله مجوز زمانی آغاز می شود که برنامه شما مرورگر را به URL Google هدایت می کند. URL شامل پارامترهای درخواست است که نشان دهنده نوع دسترسی به دسترسی است. Google احراز هویت کاربر ، انتخاب جلسه و رضایت کاربر را پردازش می کند. نتیجه یک کد مجوز است که برنامه می تواند برای دسترسی به نشانه های دسترسی و به روزرسانی مبادله کند.
برنامه باید توکن بروزرسانی را برای استفاده در آینده ذخیره کند و از Tokens Access برای دسترسی به Google API استفاده کند. پس از انقضا نشانگر دسترسی ، برنامه از نشانگر به روزرسانی برای دریافت یک مورد جدید استفاده می کند.

برنامه های نصب شده
نکته نهایی Google OAuth 2. 0 از برنامه های نصب شده در دستگاه هایی مانند رایانه ، دستگاه های تلفن همراه و تبلت پشتیبانی می کند. هنگام ایجاد شناسه مشتری با استفاده از کنسول Google API ، نشان دهید که این یک برنامه نصب شده است و سپس Android ، برنامه Chrome ، iOS ، پلت فرم Windows Universal یا برنامه دسک تاپ را به عنوان نوع برنامه انتخاب کنید.
نتیجه این فرآیند شناسه مشتری است و در برخی موارد راز مشتری که در کد منبع برنامه خود جاسازی کرده اید.(در این زمینه ، راز مشتری بدیهی است که به عنوان یک راز در نظر گرفته نمی شود.)
دنباله مجوز زمانی آغاز می شود که برنامه شما مرورگر را به URL Google هدایت می کند. URL شامل پارامترهای درخواست است که نشان دهنده نوع دسترسی به دسترسی است. Google احراز هویت کاربر ، انتخاب جلسه و رضایت کاربر را پردازش می کند. نتیجه یک کد مجوز است که برنامه می تواند برای دسترسی به نشانه های دسترسی و به روزرسانی مبادله کند.
برنامه باید توکن بروزرسانی را برای استفاده در آینده ذخیره کند و از Tokens Access برای دسترسی به Google API استفاده کند. پس از انقضا نشانگر دسترسی ، برنامه از نشانگر به روزرسانی برای دریافت یک مورد جدید استفاده می کند.

برنامه های مشتری (JavaScript)
نقطه آخر Google OAuth 2. 0 از برنامه های JavaScript که در مرورگر راه اندازی می شوند ، پشتیبانی می کند.
دنباله مجوز زمانی آغاز می شود که برنامه شما مرورگر را به URL Google هدایت می کند. URL شامل پارامترهای درخواست است که نشان دهنده نوع دسترسی به دسترسی است. Google احراز هویت کاربر ، انتخاب جلسه و رضایت کاربر را پردازش می کند.
نتیجه یک نشانه دسترسی است که مشتری باید قبل از آنکه در درخواست API Google گنجانده شود ، بررسی کند. پس از انقضاء نشانه ، برنامه روند را تکرار می کند.

برنامه های کاربردی در دستگاه هایی با ورودی محدود
نکته نهایی Google OAuth 2. 0 از برنامه های کاربردی بر روی داده ها با ورودی داده های محدود ، مانند کنسول های بازی ، دوربین های فیلمبرداری و چاپگر پشتیبانی می کند.
دنباله مجوز با این واقعیت آغاز می شود که برنامه برای دریافت کد مجوز ، درخواستی را از سرویس وب در آدرس URL Google ارسال می کند. پاسخ شامل چندین پارامتر از جمله آدرس URL و کدی است که برنامه به کاربر نشان می دهد.
کاربر آدرس و کد URL را از دستگاه دریافت می کند و سپس با قابلیت ورودی گسترده تر به یک دستگاه یا رایانه جداگانه تغییر می کند. کاربر مرورگر را راه اندازی می کند ، از طریق URL مشخص شده ، وارد سیستم می شود و وارد کد می شود.
در همین حال ، برنامه با URL Google با یک فاصله معین مصاحبه می کند. پس از تأیید کاربر ، پاسخ سرور Google شامل نشانه های دسترسی و به روزرسانی خواهد بود. برنامه باید توکن بروزرسانی را برای استفاده در آینده ذخیره کند و از Tokens Access برای دسترسی به Google API استفاده کند. پس از انقضا نشانگر دسترسی ، برنامه از نشانگر به روزرسانی برای دریافت یک مورد جدید استفاده می کند.

حساب های خدماتی
API های Google ، مانند Prediction API و Google Cloud Storage ، می توانند بدون دسترسی به اطلاعات کاربر به نمایندگی از برنامه شما عمل کنند. در چنین شرایطی ، برنامه شما باید هویت شما را به API تأیید کند ، اما رضایت کاربر لازم نیست. به همین ترتیب ، در سناریوهای شرکت ، درخواست شما ممکن است درخواست دسترسی به برخی منابع را داشته باشد.
برای این نوع تعامل بین المللی ، به یک رکورد خدماتی که متعلق به برنامه شما باشد ، نیاز دارید و نه یک کاربر نهایی جداگانه. برنامه شما به نمایندگی از حساب سرویس باعث API Google می شود و رضایت کاربر لازم نیست.(در سناریوهایی که به حساب حساب مربوط نمی شود ، برنامه شما به نمایندگی از کاربران نهایی با API Google تماس می گیرد و گاهی اوقات رضایت کاربر لازم است.)
توجه داشته باشید. در این سناریوها ، حساب های خدمات برنامه باید توسط نشانگرهای وب JSON (JWT) به صورت رمزنگاری امضا و رمزنگاری شود. ما اکیداً توصیه می کنیم که از کتابخانه برای انجام این کارها استفاده کنید. اگر این کد را بدون استفاده از کتابخانه ای که باعث ایجاد و امضای نشانگرها می شود ، می نویسید ، می توانید اشتباهاتی مرتکب شوید که به طور جدی بر ایمنی برنامه شما تأثیر می گذارد. لیستی از کتابخانه ها که از این سناریو حمایت می کنند ، به مستندات مربوط به سوابق خدمات مراجعه کنید.
داده های حسابداری از سوابق خدماتی که از کنسول API Google دریافت می کنید شامل آدرس ایمیل منحصر به فرد تولید شده ، شناسه مشتری و حداقل یک جفت کلید باز/بسته است. شما از شناسه مشتری و یک کلید بسته برای ایجاد JWT امضا شده استفاده می کنید و درخواستی برای نشانه دسترسی در قالب مربوطه ایجاد می کنید. سپس برنامه شما درخواست توکن را به سرور مجوز Google OAuth 2. 0 ارسال می کند ، که به نشانه دسترسی باز می گردد. برنامه برای دسترسی به Google API از یک توکن استفاده می کند. پس از انقضاء نشانه ، برنامه روند را تکرار می کند.

توجه داشته باشید. اگرچه می توانید از حساب های خدمات در برنامه هایی که از دامنه فضای کاری Google راه اندازی شده اند استفاده کنید ، حساب های خدمات اعضای حساب فضای کاری Google شما نیستند و تحت قوانین دامنه تعیین شده توسط مدیران فضای کاری Google قرار نمی گیرند. به عنوان مثال ، خط مشی نصب شده در کنسول Administrator Administrator Google برای محدود کردن احتمال کاربران نهایی Google Google برای تبادل اسناد در خارج از دامنه ، در حساب های خدمات اعمال نمی شود.
اندازه توکن
توکن ها می توانند از نظر اندازه تا حد بعدی متفاوت باشند:
- کدهای مجوز: 256 بایت
- دسترسی به نشانه ها: 2048 بایت
- توکن ها را به روز کنید: 512 بایت
نشانگرهای نشانگرهای Google Cloud API های ایمنی به نشانگرهای دسترسی Google API OAUTH 2. 0 بازگردانده می شوند ، اما محدودیت های اندازه نشانگر دیگری نیز دارند. جزئیات را در مستندات API مشاهده کنید.
Google این حق را دارد که اندازه نشانه را در این محدودیت ها تغییر دهد و برنامه شما باید به طور مناسب اندازه متغیر نشانه ها را حفظ کند.
به روزرسانی توکن معتبر
شما باید کد خود را بنویسید تا پیش بینی کنید که به روزرسانی ارائه شده توسط نشانه بروزرسانی دیگر ممکن است کار نکند. نشانه به روزرسانی ممکن است به یکی از دلایل زیر کار را متوقف کند:
- کاربر دسترسی به برنامه شما را باطل کرد.
- نشانه به روزرسانی به مدت شش ماه استفاده نشده است.
- کاربر رمزهای عبور را تغییر داده است ، و Token Update شامل Gmail است.
- حساب کاربری از حداکثر تعداد نشانه های به روز شده ارائه شده (معتبر) فراتر رفته است.
- اگر سرپرست برای هر یک از خدمات درخواست شده در زمینه های برنامه شما ، ارزش محدود شده (خطای Admin_Policy_Enorced) را ایجاد کرده است.
- برای پلت فرم API Google Cloud: طول جلسه تعیین شده توسط مدیر می تواند فراتر رود.
پروژه Google Cloud Platform با صفحه رضایت OAuth ، پیکربندی شده برای نوع خارجی کاربر ، و وضعیت انتشار "آزمایش" به روزرسانی توکن صادر می شود ، مدت زمان آن پس از 7 روز منقضی می شود ، مگر اینکه مناطق درخواست شده OAUTH نباشد زیر مجموعه نام ، آدرس های الکترونیکی و مشخصات کاربر (از طریق userInfo. email ، userInfo. Profile ، OpenID یا معادل آنها OpenID Coect).
در حال حاضر ، محدودیت 100 نشانه به روزرسانی در حساب Google برای هر مشتری از مشتری OAUTH 2. 0 وجود دارد. در صورت دستیابی به حد مجاز ، ایجاد یک نشانه به روزرسانی جدید به طور خودکار قدیمی ترین نشانه بروزرسانی را به طور خودکار و بدون هشدار می سازد. این محدودیت در حساب های خدمات اعمال نمی شود.
همچنین محدودیت بالاتری از تعداد کل نشانه های به روزرسانی وجود دارد که ممکن است یک حساب کاربری یا حساب کاربری برای همه مشتریان داشته باشد. بیشتر کاربران معمولی از این حد تجاوز نمی کنند ، اما حساب توسعه دهنده برای آزمایش اجرای می تواند استفاده کند.
اگر نیاز به مجاز به چندین برنامه ، ماشین یا دستگاه دارید ، یکی از راه های بای پس محدود کردن تعداد مشتریانی که برای هر حساب Google مجاز به هر حساب Google هستید ، حداکثر 15 یا 20 است. اگر سرپرست فضای کاری Google هستید ، می توانید ایجاد کنید کاربران اضافی با حقوق سرپرست و از آنها برای مجوز برخی از مشتریان استفاده می کنند.
کار با مدیریت جلسات برای سازمانها Google Cloud Platform (GCP)
سرپرستان سازمانهای GCP ممکن است هنگام دسترسی به منابع GCP با استفاده از عملکرد مدیریت Google Cloud ، نیاز به تأیید مجدد کاربران داشته باشند. این خط مشی بر دسترسی به کنسول Google Cloud ، Google Cloud SDK (همچنین به عنوان رابط رشته فرمان GCLOUD نیز شناخته می شود) و هر OAUTH خارج از آن را تحت تأثیر قرار می دهد ، که به دامنه پلت فرم ابر نیاز دارد. اگر کاربر یک خط مشی مدیریت جلسه داشته باشد ، پس از مدت زمان جلسه ، تماس های API شما با خطایی مشابه آنچه در صورت برداشت توکن به روز می شود ، پایان می یابد - تماس با یک خطای نامعتبر به پایان می رسد. از قسمت error_subtype می توان برای تشخیص نشانه و عدم موفقیت به دلیل خط مشی مدیریت جلسه استفاده کرد (به عنوان مثال "error_subtype": "نامعتبر_راپ"). از آنجا که مدت زمان جلسه می تواند بسیار محدود باشد (از 1 ساعت تا 24 ساعت) ، این سناریو باید با شروع مجدد جلسه احراز هویت به درستی پردازش شود.
به همین روش ، شما نباید استفاده از حسابداری کاربر را برای استقرار یک سرور سرور استفاده یا تشویق کنید. اگر حساب های کاربری برای کارهای طولانی مدت یا عملیات روی سرور مستقر شود و مشتری یک خط مشی جلسه را برای چنین کاربران اعمال کند ، برنامه سرور پس از مدت زمان جلسه قادر به انجام مجوز مجدد کاربر نخواهد بود.
برای کسب اطلاعات بیشتر در مورد چگونگی کمک به مشتریان خود برای گسترش این عملکرد ، به این مقاله مرجع برای مدیران مراجعه کنید.
کتابخانه های مشتری
کتابخانه های مشتری زیر با سیستم عامل های محبوب یکپارچه شده اند که اجرای OAUTH 2. 0 را ساده می کند. با گذشت زمان ، توابع اضافی به کتابخانه ها اضافه می شود.
- کتابخانه مشتری Google API برای جاوا
- کتابخانه Google API برای پایتون
- کتابخانه مشتری Google API برای رفتن
- کتابخانه Google API برای . NET
- کتابخانه Google API برای روبی
- کتابخانه Google API برای PHP
- کتابخانه Google API برای JavaScript
- Gtmappauth - کتابخانه مشتری OUTE برای Mac و iOS
ارسال یک بررسی
مگر در مواردی که مشخص نشده باشد ، محتوای موجود در این صفحه تحت مجوز Creative Commons ارائه شده است که نشان دهنده نویسندگی 4. 0 و کد کد با توجه به مجوز Apache 2. 0 است. اطلاعات بیشتر در مورد این را در قوانین سایت بخوانید. جاوا یک علامت تجاری ثبت شده از شرکت اوراکل و افراد وابسته آن است.
آخرین بروزرسانی: 2023-02-20 UTC.
فارکس وکسب درامد...
ما را در سایت فارکس وکسب درامد دنبال می کنید
برچسب :
نویسنده : آرش اصل زاد
بازدید : <-PostHit->
تاريخ : پنجشنبه
29 تير
1402 ساعت: 17:47