كيف يعمل تفويض OpenID على الطرف المعتمد؟هل تغيرت المواصفات مؤخرا؟

StackOverflow https://stackoverflow.com/questions/826014

  •  05-07-2019
  •  | 
  •  

سؤال

النظر في هذا السيناريو.لدي موقع ويب خاص بي، وأستخدمه كمعرف خاص بي، ولكني أستخدم موفر OpenID لجهة خارجية (في حالتي ياهو)، كما هو موضح هنا, ، لتسجيل الدخول إلى مواقع الطرف المعتمد (RP) مثل stackoverflow وsourceforge.

يبدو أنها خطوة حكيمة:

  • أنا لست مقيدًا بمزود OpenID، لأنه إذا/متى لن تقدم Yahoo الخدمة بعد الآن، أو ستبدأ في فرض رسوم عليها، أو لن أثق بهم بعد الآن، يمكنني تبديل المزود دون عناء
  • لا أتحمل العبء الاقتصادي والإداري والأمني ​​لتثبيت وصيانة موفر OpenID على الخادم الخاص بي

سؤال

كيف من المفترض أن يعمل برنامج RP؟ما أفهمه هو أنه يجب استخدام المعرف أنا توفير واستخدام الموفر (ياهو) فقط للمصادقة (وليس لتحديد الهوية).هل هذا صحيح؟هل تغير شيء ما في الآونة الأخيرة؟فقط لأكون واضحًا، أعني أن هويتي يجب أن تكون كذلك

http://www.mysite.com/myPreferredUrl

و لا

https://me.yahoo.com/myYahooId (وهو المكان الذي يقوم فيه موقع الويب الخاص بي "بإعادة توجيه" المصادقة كما هو موضح في موقع الويب أعلاه)

ملاحظة جانبية

أنا أطرح هذا السؤال أيضًا لأنه يبدو أن الأمور معطلة الآن (كانت على ما يرام قبل بضعة أشهر).إذا حاولت تسجيل الدخول على Stackoverflow، فأنا أكتب عنوان URL الخاص بـ mysite.com، وتم "إعادة توجيهي" بشكل صحيح إلى موقع ويب yahoo، الذي قمت بتسجيل الدخول عليه، ويسألني إذا كنت أرغب في "الاستمرار في Stackoverflow"، أقول نعم، إنها "تعيد التوجيه" وعلى موقع Stackoverflow أرى "هذا هو OpenID لم نره من قبل"، فهو يُظهر معرف yahoo الخاص بي وأنا في الواقع مغلق!

هل هو خطأ أم أنني أفتقد شيئًا ما؟

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

يحرر:اقترحت إجابة Andrew Arnott أدناه طريقة لإصلاح مشكلتي (أي:التبديل إلى مزود مختلف).لكن ما زلت مهتمًا ببعض التفاصيل:ما الذي تغير من OpenID 1.1 إلى 2.0 فيما يتعلق بالتفويض؟لماذا تم اختيار المواصفات للسماح للمزود "بكسر" التفويض؟كلما شرحت أكثر، زادت فرص قبول إجابتك.

هل كانت مفيدة؟

المحلول

أعتقد أن إجابة أندرو دقيقة تمامًا.الشيء الوحيد الذي يمكنني إضافته هو القليل حول كيف انتهت مواصفات الإصدار 2.0 بالطريقة التي انتهت بها، مما يسمح للموفر باختيار عدم العمل مع التفويض.أعتقد أن أحد المحفزات كان اختيار الهوية الموجهة من الخادم، حيث يقوم المستخدم فقط بتوفير "yahoo.com" (أو النقر فوق زر Yahoo)، ثم يعود المعرف الذي اختاره من الخادم في استجابة id_res.يسمح هذا أيضًا للخادم بالقيام بأشياء مثل عرض اختيار المعرف الذي سيتم إرساله (كما تفعل Yahoo) أو إرسال معرف فريد إلى كل RP (كما تفعل Google).

ويعني أيضًا أن جميع المعلومات الضرورية موجودة في ملف id_res الاستجابة، مما يعني أن RP لا يحتاج إلى تخزين الحالة من ملف RP الخاص به checkid الطلب من أجل معالجة الرد.في الواقع، يمكن لمقدم الخدمة إرسال id_res الاستجابة مباشرة إلى RP دون أن تبدأها RP بـ a checkid الطلب على الاطلاق.

لم يكن موفر الإصدار v1.x على علم تمامًا بوقت حدوث التفويض في المساء.يمنع هذا التصميم مقدم الخدمة من اختيار عدم دعم التفويض، ولكنه أيضًا يصلح لبعض مشكلات واجهة المستخدم؛سيتم سؤالك عما إذا كنت تريد تقديم معرف "joe.coolprovider.com" عندما كنت تستخدم بالفعل معرف "joesmith.org" المفوض الخاص بك.

إذن، هناك المقايضة.لا يزال التفويض ممكنًا، لذا كان الأمل هو أن المستخدمين الذين يريدون التفويض حقًا (والذي، دعونا نواجه الأمر، سوف يتضاءل أمام عدد المستخدمين من هذه المواقع الكبيرة) يمكنهم اختيار مقدمي الخدمة الذين يقدمون الميزات التي يحتاجون إليها.(وبعبارة أخرى، دع السوق يحاربه).

نصائح أخرى

لا أعتقد أن Yahoo تدعم تفويض OpenID.وهذا يعني أن StackOverflow وغيره من RPs قد يقومون باكتشاف المعرف الخاص بك وإعداد طلب مصادقة التفويض بشكل صحيح، ولكن ربما تختار Yahoo (يمكن القول خلافًا للمواصفات) إرسال تأكيد هوية للمعرف الخاص بهم بدلاً من ذلك الذي قدمه آر بي.

لم تتغير المواصفات من OpenID 1.1 إلى 2.0.لا تشير المواصفات إلى سلوك Yahoo! أو تؤيده، ولا يمكن إلا لشركة Yahoo التعليق بشكل رسمي على أسبابها.

لا يزال تفويض StackOverflow يعمل.يبدو أن شركة ياهو حطمتك.أقترح عليك الاستفادة مما اشتراه لك التفويض عن طريق تغيير الشخص الذي تفوض إليه المصادقة.www.myopenid.com على سبيل المثال يدعم التفويض.إذا قمت بتغيير المعرف الخاص بك للإشارة إلى ذلك، فمن المفترض أن تكون قادرًا على العودة إلى StackOverflow بشخصيتك القديمة مرة أخرى.:)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top