Antipattern: ضبط مدة صلاحية طويلة لرموز OAuth المميزة

أنت تعرض مستندات Apigee Edge.
انتقل إلى مستندات Apigee X.
معلومات

توفّر Apigee Edge إطار عمل OAuth 2.0 واجهات برمجة التطبيقات الآمنة. OAuth2 هي واحدة من أكثر عمليات المصادقة ذات المعايير المفتوحة والمستندة إلى الرمز المميز مخططات التفويض. فهي تتيح لتطبيقات العملاء الوصول إلى واجهات برمجة التطبيقات نيابةً عن المستخدمين بدون يتطلب من المستخدمين الإفصاح عن اسم المستخدم وكلمة المرور.

تتيح Apigee Edge للمطوّرين إنشاء رموز الوصول و/أو إعادة التحميل من خلال تنفيذ أي من أنواع منح OAuth2 الأربعة - بيانات اعتماد العميل، كلمة المرور ضمنية رمز التفويض - باستخدام سياسة OAuthv2. تستخدم تطبيقات العميل رموز الدخول لاستهلاك واجهات برمجة التطبيقات الآمنة. كل رمز دخول له تاريخ انتهاء صلاحية خاص الذي يمكن ضبطه في سياسة OAuth2.

يتم إصدار رموز التحديث بشكل اختياري إلى جانب رموز الدخول مع بعض أنواع المنح. إعادة تحميل الصفحة تُستخدم الرموز المميزة للحصول على رموز دخول جديدة وصالحة بعد انتهاء صلاحية رمز الدخول الأصلي أو . يمكن أيضًا تحديد وقت انتهاء صلاحية الرموز المميّزة لإعادة التحميل في سياسة OAuthv2.

نقوش

ضبط وقت انتهاء صلاحية طويل لرمز الوصول و/أو الرمز المميّز لإعادة التحميل في سياسة OAuthv2 إلى تجميع رموز OAuth المميزة وزيادة مساحة القرص في عُقد Cassandra.

يوضح المثال التالي سياسة OAuthV2 التي استغرقت وقتًا طويلاً تبلغ 200 يوم للرموز المميزة لإعادة التحميل:

<OAuthV2 name="GenerateAccessToken">
    <Operation>GenerateAccessToken</Operation>
    <ExpiresIn>1800000</ExpiresIn> <!-- 30 minutes -->
    <RefreshTokenExpiresIn>17280000000</RefreshTokenExpiresIn> <!-- 200 days -->
    <SupportedGrantTypes>
      <GrantType>password</GrantType>
    </SupportedGrantTypes>
    <GenerateResponse enabled="true"/>
</OAuthV2>

في المثال أعلاه:

  • تم ضبط رمز الدخول لمدة انتهاء صلاحية أقل بشكل معقول تبلغ 30 دقيقة.
  • يكون الرمز المميّز لإعادة التحميل مضبوطًا على وقت انتهاء صلاحية طويل جدًا يبلغ 200 يوم.
  • إذا كان عدد الزيارات إلى واجهة برمجة التطبيقات هذه 10 طلبات في الثانية، فيمكنها إنشاء ما يصل إلى 864,000 رمز مميز خلال يوم واحد.
  • نظرًا لأن رموز التحديث تنتهي صلاحيتها بعد 200 يوم فقط، يتم الاحتفاظ بها في مخزن البيانات (كاساندرا). لفترة طويلة تؤدي إلى التراكم المستمر.

التأثير

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

أفضل الممارسات

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

تحديد وقت انتهاء صلاحية الرموز المميّزة لإعادة التحميل على أن تكون صالحة لفترة أطول من رموز الدخول. على سبيل المثال، إذا قمت بتعيين 30 دقيقة لرمز الدخول ثم تعيين 60 دقيقة الرمز المميز لإعادة التحميل.

وهذا يضمن أنّه:

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

محتوى إضافي للقراءة