ما هو الوصول غير المتصل (Offline access)؟
قد يختلف مفهوم الوصول غير المتصل (Offline access) حسب السياق، سنركز على مواصفات OAuth 2.0 و OpenID Connect (OIDC). في هذا السياق، يسمح الوصول غير المتصل للعملاء بالحصول على رموز وصول جديدة باستخدام رمز تحديث (refresh token) دون الحاجة إلى إعادة مصادقة المستخدم. هذه الميزة مفيدة بشكل خاص للجلسات الطويلة وتحسين تجربة المستخدم.
من الجدير بالذكر أن OAuth 2.0 لا يعرّف مصطلح “الوصول غير المتصل” صراحةً؛ إنه يحدد فقط استخدام رموز التحديث للحصول على رموز الوصول الجديدة. ومع ذلك، فإن مصطلح “الوصول غير المتصل” (إلى جانب ‘offline_access’ scope) تم تبنيه على نطاق واسع في الصناعة للإشارة إلى هذه القدرة، وهو معرف رسميًا في مواصفة OpenID Connect (OIDC) .
كيف يعمل الوصول غير المتصل (Offline access)؟
للتبسيط، سنستخدم مصطلحات OAuth 2.0 طلب الترخيص (Authorization request) و خادم التفويض (Authorization server) لتوضيح كيفية عمل الوصول غير المتصل. المصطلحات البديلة لها في OIDC هي طلب مصادقة (Authentication request) و OpenID Provider (OP) ، على التوالي.
هناك خطوتان رئيسيتان متضمنتان في الاستفادة من الوصول غير المتصل:
-
طلب الوصول غير المتصل: عندما يقوم العميل (Client) ببدء طلب تفويض إلى خادم التفويض، فإنه يتضمن النطاق
offline_access
لطلب الوصول غير المتصل. يشير هذا النطاق إلى أن العميل يريد الحصول على رمز تحديث مع رمز الوصول.قد يختلف الدعم للوصول غير المتصل عبر خوادم التفويض، وقد يتجاهل خادم التفويض نطاق
offline_access
إذا لم يدعمه. يرجى الرجوع إلى وثائق خادم التفويض لضمان التوافق قبل استخدام هذا النطاق. -
استخدام رمز التحديث: بمجرد اكتمال منح OAuth 2.0 (Grant) ، يجب أن يتلقى العميل رمز التجديد (Refresh token) مع رمز الوصول (Access token) . يمكن للعميل تخزين رمز التحديث بشكل آمن واستخدامه لإرسال طلب الرمز (Token request) إلى خادم التفويض للحصول على رمز وصول جديد عند انتهاء صلاحية رمز الوصول الحالي.
للحصول على أمثلة تفصيلية عن وصول غير المتصل في العمل، يرجى الرجوع إلى مقالة رمز التجديد (Refresh token) .
اعتبارات الأمان
تشبه الآثار الأمنية للوصول غير المتصل تلك الخاصة برموز التحديث. يرجى الرجوع إلى قسم اعتبارات الأمان للحصول على التفاصيل.