لغو پیوند حساب ها

با مجموعه‌ها، منظم بمانید ذخیره و دسته‌بندی محتوا براساس اولویت‌های شما.

لغو پیوند ممکن است از سیستم عامل یا Google شما آغاز شود و نمایش وضعیت پیوند پیوسته در هر دو بهترین تجربه کاربری را فراهم می کند. پشتیبانی از نقطه پایان لغو رمز یا محافظت از حساب بین حساب برای پیوند حساب Google اختیاری است.

با هر یک از موارد زیر پیوند حساب ها قطع می شود:

  • درخواست کاربر از
  • عدم تمدید کد تازه منقضی شده
  • سایر رویدادهای آغاز شده توسط شما یا Google. به عنوان مثال ، تعلیق حساب توسط سرویس های سو abuse استفاده و شناسایی تهدید.

کاربر درخواست لغو پیوند از Google را دارد

لغو پیوند حساب که از طریق حساب Google کاربر یا برنامه آغاز شده است ، هرگونه دسترسی صادر شده و نشانه های تازه سازی را حذف می کند ، رضایت کاربر را از بین می برد و در صورت انتخاب یکی از موارد ، نقطه پایانی لغو رمز شما را فراخوانی می کند.

کاربر خواستار لغو پیوند از سیستم عامل شما شد

شما باید مکانیسمی برای لغو پیوند کاربران مانند URL به حساب آنها ارائه دهید. اگر راهی برای لغو پیوند به کاربران ارائه نمی دهید ، پیوندی به حساب Google اضافه کنید تا کاربران بتوانند حساب پیوندی خود را مدیریت کنند.

می توانید به اشتراک گذاری و همکاری ریسک و رخداد (RISC) را اجرا کنید و تغییرات را در وضعیت پیوند حساب کاربران به Google اطلاع دهید. این امکان را برای شما فراهم می کند تا تجربه کاربری بهبود یافته جایی که هر دو سیستم عامل و Google شما یک وضعیت پیوند فعلی و سازگار را نشان می دهند بدون اینکه نیازی به اتکا به درخواست تازه سازی یا دسترسی به رمز ورود برای به روزرسانی وضعیت پیوند باشد.

تاریخ انقضا

Google برای ایجاد تجربه کاربری روان و جلوگیری از اختلال در سرویس ، تلاش می کند نشانه های تازه سازی را در اواخر عمر آنها تمدید کند. در برخی از سناریوها ، ممکن است برای پیوند دادن مجدد حساب ها ، در صورت عدم دسترسی به رمز ورود تازه ، رضایت کاربر لازم باشد.

طراحی بستر خود برای پشتیبانی از چندین نشانه منقضی نشده و تازه سازی نشانه ها می تواند شرایط مسابقه موجود در مبادلات مشتری-سرور بین محیط های خوشه ای را به حداقل برساند ، از ایجاد اختلال در کاربر جلوگیری کند و سناریوهای پیچیده زمان بندی و مدیریت خطا را به حداقل برساند. در حالی که سرانجام سازگار است ، ممکن است توکن های منقضی نشده و قبلی که صادر شده اند برای مدت زمان کوتاهی در طول تعویض تمدن رمز مشتری-سرور و قبل از هماهنگ سازی خوشه مورد استفاده قرار گیرند. به عنوان مثال ، یک درخواست Google به خدمات شما که از رمز دسترسی منقضی نشده استفاده می کند درست پس از صدور رمز دسترسی جدید رخ می دهد ، اما قبل از دریافت و هماهنگی خوشه در Google انجام می شود. اقدامات امنیتی جایگزین برای Refresh Token Rotation توصیه می شود.

وقایع دیگر

به دلایل مختلف دیگری از قبیل عدم فعالیت ، تعلیق ، رفتارهای مخرب و غیره ، می توان پیوند حساب ها را لغو کرد. در چنین حالاتی ، سیستم عامل و Google شما می توانند حساب های کاربری را به بهترین شکل مدیریت کرده و با اطلاع از تغییرات وضعیت حساب و پیوند به یکدیگر ، دوباره پیوند برقرار کنند.

نقطه پایانی لغو رمز را برای تماس با Google پیاده سازی کنید و رویدادهای لغو رمز خود را با استفاده از RISC به Google اطلاع دهید تا از پیوند سیستم و Google خود اطمینان حاصل کنید که لینک پیوند حساب کاربر را حفظ کنید.

نقطه پایان لغو رمز

اگر از نقطه پایانی لغو رمز OAuth 2.0 پشتیبانی می کنید ، سیستم عامل شما می تواند اعلان هایی از Google دریافت کند. با این کار می توانید کاربران را از تغییرات وضعیت پیوند آگاه کنید ، یک اعتبار رمز را پاک کنید و اعتبار امنیتی و مجوزهای مجوز را پاک کنید.

درخواست فرم زیر را دارد:

POST /revoke HTTP/1.1
Host: oauth2.example.com
Content-Type: application/x-www-form-urlencoded

client_id=GOOGLE_CLIENT_ID&client_secret=GOOGLE_CLIENT_SECRET&token=TOKEN&token_type_hint=refresh_token

نقطه پایانی ابطال رمز شما باید بتواند از پارامترهای زیر استفاده کند:

پارامترهای نقطه پایان ابطال
client_id رشته ای که درخواست را به عنوان Google شناسایی می کند. این رشته باید در سیستم شما به عنوان شناسه منحصر به فرد Google ثبت شود.
client_secret یک رشته مخفی که برای خدمات خود در Google ثبت نام کرده اید.
token نشانه ای که لغو می شود.
token_type_hint (اختیاری) نوع نشانه ای که لغو می شود ، یا access_token یا refresh_token . در صورت عدم تعیین ، به صورت پیش فرض برای access_token .

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

HTTP/1.1 200 Success
Content-Type: application/json;charset=UTF-8

اگر به هر دلیلی کد قابل حذف نیست ، همانطور که در مثال زیر نشان داده شده ، کد پاسخ 503 را برگردانید:

HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Retry-After: HTTP-date / delay-seconds

Google بعداً یا مطابق درخواست Retry-After .

محافظت بین حساب (RISC)

اگر از «محافظت بین حساب» (Cross-Account Protection) پشتیبانی می کنید ، در صورت لغو رمزهای دسترسی یا تازه سازی ، سیستم عامل شما می تواند به Google اطلاع دهد. این به Google اجازه می دهد تا کاربران را از تغییرات وضعیت پیوند آگاه کند ، رمز ، اعتبارهای امنیتی پاک سازی و اعطای مجوز را باطل کند.

محافظت از اعتبار بین حساب بر اساس استاندارد RISC است که در بنیاد OpenID ایجاد شده است.

برای اطلاع از لغو رمز ، از Google Security Event Token استفاده می شود.

هنگام رمزگشایی ، یک رویداد لغو رمز مانند مثال زیر به نظر می رسد:

{
  "iss":"http://risc.example.com",
  "iat":1521068887,
  "aud":"google_account_linking",
  "jti":"101942095",
  "toe": "1508184602",
  "events": {
    "https://schemas.openid.net/secevent/oauth/event-type/token-revoked":{
      "subject_type": "oauth_token",
      "token_type": "refresh_token",
      "token_identifier_alg": "hash_SHA512_double",
      "token": "double SHA-512 hash value of token"
    }
  }
}

نشانه های رویداد امنیتی که برای اطلاع رسانی به Google از وقایع لغو رمز استفاده می کنید ، باید با الزامات جدول زیر مطابقت داشته باشند:

رویدادهای لغو رمز
iss ادعای صادر کننده: این یک URL است که شما میزبان آن هستید و هنگام ثبت نام با Google به اشتراک گذاشته می شود.
aud ادعای مخاطب: این Google را به عنوان دریافت کننده JWT معرفی می کند. باید روی google_account_linking تنظیم شود.
jti ادعای JWT ID: این یک شناسه منحصر به فرد است که شما برای هر رمز رویداد امنیتی ایجاد می کنید.
iat Issued At Claim: این یک مقدار NumericDate است که نمایانگر زمان ایجاد این رمز رویداد امنیتی است.
toe زمان ادعای رویداد: این یک اختیاری است NumericDate ارزش است که نشان دهنده زمانی که در آن رمز لغو شد.
exp زمان انقضا ادعا: را شامل نمی شود این زمینه، به عنوان رویداد و در نتیجه این اطلاع رسانی در حال حاضر صورت گرفته است.
events
ادعای امنیت رویدادها: این یک شی JSON است و باید فقط شامل یک رویداد لغو رمز باشد.
subject_type این باید روی oauth_token تنظیم شود.
token_type این نوع توکن است که لغو می شود ، یا access_token یا refresh_token .
token_identifier_alg این الگوریتمی است که برای رمزگذاری رمز استفاده می شود و باید hash_SHA512_double باشد.
token این شناسه رمز لغو شده است.

برای کسب اطلاعات بیشتر در مورد انواع زمینه ها و قالب ها ، به JSON Web Token (JWT) مراجعه کنید .