كيف يختلف OpenID بين عمليات تسجيل الدخول المختلفة على نفس نقطة نهاية OpenID

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

سؤال

أحاول تنفيذ نقطة نهاية OpenID خاصة بها بناءً على سمف حسابات المستخدمين.لقد قمت ببناء الكود الخاص بي على phpMyOpenID وبعض أكواد ترخيص SMF.

إنه يعمل بشكل جيد حتى الآن.يمكنني استخدام نقطة النهاية لتسجيل الدخول/التسجيل في أي موقع.إذا لم أقم بتسجيل الدخول إلى SMF، فسوف يطلب تسجيل الدخول الخاص بي وإذا كان تسجيل الدخول إلى SMF ناجحًا، فإنه يقبل ذلك.

ومع ذلك، يبدو أن الأمر لا يختلف بين عمليات تسجيل الدخول المختلفة لـ SMF.أي.أبلغ مستخدم آخر أنه حاول استخدام نقطة النهاية على الموقع X، وقام بتسجيل الدخول باستخدام حساب SMF الخاص به ووصل إلى حساب المستخدم الخاص بي على الموقع X (لقد قمت بتسجيل نقطة نهاية OpenID مسبقًا على هذا الموقع).

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

الكود (فقط PHP)، إذا كنت تريد إلقاء نظرة، موجود هنا:http://github.com/albertz/smf-openid-server

أو ربما أصف فقط ما يجب علي فعله لجعله فريدًا لكل تسجيل دخول إلى SMF.

مشروع آخر أخطط له هو عميل OpenID في لعبة C++ متعددة اللاعبين.سيكون لدى المضيف خيار السماح فقط بتسجيلات الدخول من الأشخاص الذين يمكنهم المصادقة عبر OpenID.أريد أيضًا أن أجعل من الممكن السماح لأشخاص معينين فقط بتسجيل الدخول.ما هي الطريقة الشائعة للحصول على سلسلة فريدة بناءً على تسجيل الدخول إلى OpenID؟في هذه الحالة، فكرت في شيء من هذا القبيل http://{smf-openid-endpoint}/{smf-user} أو http://www.google.de/profiles/{google-user}.ما هي الطريقة الأساسية للحصول على مثل هذه السلسلة؟

أعتقد أن هذا السؤال الآخر قد يكون مرتبطًا بسؤالي الرئيسي، ولهذا السبب أطرحه هنا أيضًا.


انظر أيضًا السؤال ذو الصلة: هل عنوان URL للمعرف فريد؟ما هي المصطلحات المختلفة؟

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

المحلول

يبدو أن الطلب الأول الذي أتلقاه من المستخدم النهائي هو checkid_setup.في هذا الرد، يمكنني تحديد عنوان URL فريد (ما أسميه سلسلة فريدة من نوعها في سؤالي) في openid.identity مجال.

لقد فعلت ذلك في الكود الخاص بي الآن ويبدو أنه يعمل.أي.يمكنني إدخال عنوان URL العام لنقطة نهاية OpenID (على سبيل المثال في SourceForge) وسيعمل على توسيعه تلقائيًا بالطريقة التي اقترحتها في سؤالي.

وللإجابة على سؤالي الثاني:يبدو أن عنوان URL للمعرف الذي تم التحقق منه فريد من نوعه، لذا يمكن استخدامه.حيث قد يبدو هذا أحيانًا غامضًا (على سبيل المثال، في حالة Google، فهو مجرد جزء من التجزئة).لذلك يمكن استخدام هذا داخليًا للاختلاف بين المستخدمين المختلفين.بالنسبة للتمثيل الرسومي، يمكنني إظهار اسم المستخدم الحقيقي أو عنوان البريد الذي يجب أن أحصل عليه أيضًا من مصادقة OpenID.

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