سؤال

أخطط حاليًا لمشروع ويب جديد.سيقوم العملاء بالاتصال باستخدام متصفح ويب عادي، وفي حالة الهواتف المحمولة العادية التي تدعم جافا، عميل j2me.أرغب حقًا في الاستفادة من مصادقة OpenID.في حالة استخدام متصفح الويب العادي، تكون الأمور واضحة جدًا.ومع ذلك، لست متأكدًا حقًا من التطبيقات المثبتة (مثل عميل j2me المثبت على جهاز محمول) - يتم إجراء مصادقة OpenID العادية عن طريق إدخال اسم المستخدم/كلمة المرور على صفحة ويب خاصة بموفر OpenID معين - وهو ما يعد قيدًا تمامًا :)

هل تعامل أي شخص مع مثل هذا الوضع؟هل من الممكن إنشاء آلية مصادقة للموقع الذي يستخدم OpenID من عميل j2me المحمول؟

أفكر حاليًا في حل يتمثل في قيام المستخدمين الذين يرغبون في الاتصال من هواتفهم المحمولة بتنزيل تطبيق j2me الضروري من موقع الويب الخاص بالخادم بعد مصادقة أنفسهم (مصادقة المتصفح العادية).يمكن تجميع تطبيق عميل الهاتف المحمول ديناميكيًا على الخادم باستخدام شهادة SSL المضمنة المرتبطة بمستخدم OpenID معين قام بتسجيل الدخول.بعد ذلك، يمكن لعميل j2me المصادقة على الخادم دون إدخال أي اسم مستخدم/كلمة مرور.البيانات التي سيتم تخزينها على الخادم ليست حساسة - مع الأخذ في الاعتبار حالات سرقة الهاتف المحمول وما إلى ذلك.

هل يمكن لأي شخص أن يأتي بحل أفضل؟

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

المحلول

أفضل حل IMO لما تفعله هو استخدام OAuth مع OpenID.إن استخدامك لـ OpenID في RP أمر جيد.ولكن بالنسبة للتطبيقات المثبتة التي تحتاج إلى الوصول إلى موقع الويب هذا، فيجب عليها استخدام OAuth للحصول على إذن.سيعمل التدفق على النحو التالي:

  1. يقوم المستخدم بتثبيت التطبيق على أجهزته
  2. أثناء التثبيت أو عند التشغيل لأول مرة، يحتوي التطبيق على زر "تفويضي".
  3. يضغط المستخدم على الزر وينبثق متصفح الويب موقع الويب الذي يحتاج تطبيق العميل للوصول إلى البيانات منه.
  4. يقوم المستخدم بتسجيل الدخول إلى هذا الموقع باستخدام OpenID الخاص به
  5. يسأل الموقع الآن "هل تريد ترخيص تطبيق العميل X؟"
  6. يقول المستخدم نعم ويغلق المتصفح.
  7. يظهر تطبيق العميل مرة أخرى ويقول "شكرًا". والآن لديه رمز OAuth ضروري للوصول إلى بيانات المستخدم دون تسجيل الدخول مرة أخرى.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top