فك ارتباط الحسابات

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

يمكن بدء إلغاء الربط من النظام الأساسي الخاص بك أو من Google ، كما أن عرض حالة الارتباط المتسقة على كلاهما يوفر أفضل تجربة للمستخدم. يعد دعم نقطة نهاية إبطال الرمز المميز أو الحماية عبر الحساب اختياريًا لربط حساب Google.

يمكن إلغاء ربط الحسابات بأي مما يلي:

  • طلب المستخدم من
  • فشل تجديد رمز تحديث منتهي الصلاحية
  • الأحداث الأخرى التي بدأتها أنت أو Google. على سبيل المثال ، تعليق الحساب عن طريق خدمات الكشف عن إساءة الاستخدام والتهديدات.

طلب المستخدم إلغاء الربط من Google

إلغاء ربط الحساب الذي بدأ من خلال حساب Google الخاص بالمستخدم أو التطبيق يحذف أي وصول تم إصداره مسبقًا ويحدد الرموز المميزة ، ويزيل موافقة المستخدم ، ويستدعي اختياريًا نقطة نهاية إبطال الرمز المميز إذا اخترت تنفيذ واحدة.

طلب المستخدم إلغاء الربط من منصتك

يجب توفير آلية للمستخدمين لإلغاء الربط ، مثل عنوان URL بحساباتهم. إذا لم تقدم طريقة للمستخدمين لإلغاء الربط ، فقم بتضمين ارتباط إلى حساب Google حتى يتمكن المستخدمون من إدارة حساباتهم المرتبطة.

يمكنك اختيار تنفيذ تبادل المخاطر والحوادث والتعاون (RISC) وإخطار Google بالتغييرات التي تطرأ على حالة ربط حساب المستخدمين. يتيح ذلك تجربة مستخدم محسّنة حيث يُظهر كل من النظام الأساسي الخاص بك و Google حالة ربط حالية ومتسقة دون الحاجة إلى الاعتماد على طلب رمز الوصول أو التحديث لتحديث حالة الارتباط.

انتهاء صلاحية الرمز

لتوفير تجربة مستخدم سلسة وتجنب انقطاع الخدمة ، تحاول Google تجديد الرموز المميزة للتحديث بالقرب من نهاية عمرها الافتراضي. في بعض السيناريوهات ، قد تكون موافقة المستخدم مطلوبة لإعادة ربط الحسابات عند عدم توفر رمز تحديث صالح.

يمكن أن يؤدي تصميم النظام الأساسي الخاص بك لدعم الوصول غير المنتهي والرموز المميزة للتحديث إلى تقليل ظروف السباق الموجودة في عمليات تبادل الخادم والعميل بين البيئات المجمعة ، وتجنب تعطيل المستخدم ، وتقليل سيناريوهات معالجة الأخطاء والتوقيت المعقدة على الرغم من الاتساق في النهاية ، فقد يتم استخدام كل من الرموز المميزة غير المنتهية الصلاحية السابقة والحديثة لفترة قصيرة من الوقت أثناء تبادل تجديد الرمز المميز لخادم العميل وقبل مزامنة المجموعة. على سبيل المثال ، يحدث طلب Google لخدمتك التي تستخدم رمز الوصول غير المنتهي السابق مباشرةً بعد إصدار رمز وصول جديد ، ولكن قبل إجراء مزامنة الاستلام والمجموعة في Google. يوصى بإجراءات أمنية بديلة لتحديث دوران الرمز المميز .

أحداث أخرى

يمكن إلغاء ربط الحسابات لأسباب أخرى مختلفة ، مثل عدم النشاط والتعليق والسلوك الضار وما إلى ذلك. في مثل هذه السيناريوهات ، يمكن لمنصتك و Google إدارة حسابات المستخدمين بشكل أفضل وإعادة الربط عن طريق إخطار بعضهما البعض بالتغييرات التي تطرأ على حالة الحساب والربط.

قم بتنفيذ نقطة نهاية لإبطال الرمز المميز لـ Google للاتصال به ، وإخطار Google بأحداث إبطال الرمز المميز باستخدام RISC لضمان احتفاظ النظام الأساسي الخاص بك و Google بحالة ارتباط حساب المستخدم المتسقة.

نقطة نهاية إبطال الرمز المميز

If you support an OAuth 2.0 token revocation endpoint, your platform can receive notifications from Google. This lets you inform users of link state changes, invalidate a token, and cleanup security credentials and authorization grants.

The request has the following form:

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

Your token revocation endpoint must be able to handle the following parameters:

Revocation endpoint parameters
client_id A string that identifies the request origin as Google. This string must be registered within your system as Google's unique identifier.
client_secret A secret string that you registered with Google for your service.
token The token to be revoked.
token_type_hint (Optional) The type of token being revoked, either an access_token or refresh_token. If unspecified, defaults to access_token.

Return a response when the token is deleted or invalid. See the following for an example:

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

If the token can't be deleted for any reason, return a 503 response code, as shown in the following example:

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

Google retries the request later or as requested by Retry-After.

الحماية عبر الحسابات (RISC)

If you support Cross-Account Protection, your platform can notify Google when access or refresh tokens are revoked. This allows Google to inform users of link state changes, invalidate the token, cleanup security credentials, and authorization grants.

Cross-Account Protection is based on the RISC standard developed at the OpenID Foundation.

A Security Event Token is used to notify Google of token revocation.

When decoded, a token revocation event looks like the following example:

{
  "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"
    }
  }
}

Security Event Tokens that you use to notify Google of token revocation events must conform to the requirements in the following table:

Token revocation events
iss Issuer Claim: This is a URL which you host, and it's shared with Google during registration.
aud Audience Claim: This identifies Google as the JWT recipient. It must be set to google_account_linking.
jti JWT ID Claim: This is a unique ID that you generate for every security event token.
iat Issued At Claim: This is a NumericDate value that represents the time when this security event token was created.
toe Time of Event Claim: This is an optional NumericDate value that represents the time at which the token was revoked.
exp Expiration Time Claim: Do not include this field, as the event resulting in this notification has already taken place.
events
Security Events Claim: This is a JSON object, and must include only a single token revocation event.
subject_type This must be set to oauth_token.
token_type This is the type of token being revoked, either access_token or refresh_token.
token_identifier_alg This is the algorithm used to encode the token, and it must be hash_SHA512_double.
token This is the ID of the revoked token.

For more information on field types and formats, see JSON Web Token (JWT).