العربية
  • oauth
  • تدفق الجهاز
  • cli
  • المصادقة
  • رمز الجهاز

مقدمة موجزة عن مسار جهاز OAuth 2.0

تستكشف هذه المقالة مسار جهاز OAuth 2.0، وهي حل لمصادقة الهوية على الأجهزة التي تفتقر إلى متصفح لتنفيذ تفويض يعتمد على وكيل المستخدم أو تكون مقيدة في الإدخال، موضحة غرضها وتدفق تفاعل المستخدم.

Yijun
Yijun
Developer

كنظام تفويض، يستخدم OAuth 2.0 على نطاق واسع في سيناريوهات مختلفة. في تدفقات المصادقة التي يوفرها OAuth، الأكثر شيوعًا هو تدفق رمز التفويض. عندما يستخدم مستخدم ما تطبيقًا للتحقق من هويته باستخدام تدفق رمز التفويض، سيفتح التطبيق متصفحًا من الجهاز للوصول إلى نقطة التفويض النهائية، ثم يقوم المستخدم بإدخال معرفاته (اسم المستخدم، البريد الإلكتروني، إلخ) وبيانات اعتماده (كلمة المرور، رمز التحقق، إلخ.) لإكمال المصادقة.

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

ما هو مسار جهاز OAuth 2.0

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

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

أيضاً، يُستخدم مسار الجهاز بشكل شائع لأدوات CLI (مثل تلك التي توفرها Stripe و Github و Cloudflare)، لأن أدوات CLI عادة ما تُشغل على أنظمة تشغيل بدون واجهة رسومية.

تدفق تفاعل المستخدم عند استخدام مسار الجهاز

عندما يستخدم مستخدم مسار الجهاز للمصادقة، يشمل الأمر بشكل رئيسي الخطوات التالية:

  1. يطلب عميل الجهاز التفويض من خادم المصادقة بمعرف عميل (عادة معرف العميل على منصة خادم المصادقة).
  2. يستجيب خادم المصادقة لعميل الجهاز برمز الجهاز، رمز المستخدم وURI التحقق.
  3. يعرض عميل الجهاز URI التحقق ورمز المستخدم للمستخدم بشكل نص (أو رمز QR، إلخ)، يرشد المستخدم لزيارة URI وإدخال الرمز.
  4. في نفس الوقت من الخطوة 3، يبدأ عميل الجهاز في الاقتراع للحصول على رموز الوصول باستخدام رمز الجهاز ومعرف العميل من خادم المصادقة ويبدأ في انتظار المستخدم لمراجعة طلب التفويض وإكمال التفويض.
  5. يزور المستخدم URI التحقق المستضاف من قبل خادم المصادقة، عبر متصفح في جهاز آخر، ويدخل رمز المستخدم.
  6. ينتقل خادم المصادقة بالمستخدم إلى صفحة تسجيل الدخول ويطلب من المستخدم إكمال تسجيل الدخول.
  7. أكمل المستخدم عملية تسجيل الدخول وتم تسجيل الدخول بنجاح.
  8. يعيد خادم المصادقة المستخدم إلى صفحة نجاح تسجيل الدخول ويطلب منه إغلاق المتصفح.
  9. في نفس الوقت من الخطوة 8، يعيد خادم المصادقة رموز الوصول إلى عميل الجهاز لأن العميل كان يقوم بالاقتراع منذ الخطوة 4.

بعد هذه العمليات، سيتمكن عميل الجهاز من الحصول على رمز الوصول للخدمات اللاحقة!

ملخص

كما لاحظت، يوفر مسار جهاز OAuth 2.0 طريقة تسجيل دخول سهلة الاستخدام للأجهزة التي تفتقر إلى قدرات إدخال سهلة أو متصفح. هذا الأمر حاسم للأجهزة مثل أجهزة التلفزيون الذكية، أجهزة إنترنت الأشياء، وأدوات CLI التي تعمل على جهاز يفتقر إلى واجهات رسومية.

أخبار مثيرة بانتظاركم حيث أن Logto في عملية دعم ميزة مسار الجهاز. ترقبوا وسنوافيكم بأحدث التحديثات.