سؤال

فريقي وأنا نعمل حاليا على مشروع كبير جدا.نحن نعمل على لعبة على الإنترنت ، والتي ستكون متاحة (في الوقت الحالي) ، بطريقتين:- عبر مستعرض ويب ، تطبيق كامل جافا سكريبت (من جانب العميل) ، أجاكس كامل (يعني أساسا أن واجهة المستخدم سوف تدار في جانب العميل جس).- عن طريق تطبيق اي فون (سيتم إدارة واجهة المستخدم من قبل التطبيق نفسه).

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

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

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

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

شكرا لك على وقتك ، وآمل أن يتمكن شخص ما من مساعدتي لأنه أمر عاجل للغاية.

مساء الخير

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

المحلول

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

هذا هو جدار الحماية في security.yml:

security:
    firewalls:
        api:
            pattern: ^/api/ # or whatever path you want
            http_basic: ~
            stateless: true

ثم الفكرة هي في الأساس أنه على الخادم ، يمكنك استخدام موفري المستخدم العادي ، والترميز و واتنوت لتحقيق أقصى قدر من الأمن ، وعلى العميل ، يمكنك إرسال رؤوس مصادقة هتب ، على سبيل المثال ، في مسج:

$.ajax("...", {
    username: "Foo",
    password: "bar"
});

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

يمكنك أيضا التحقق من سيمفوني 2 دليل الأمن لمزيد من المعلومات حول كيفية إعداد مصادقة هتب.تأكد أيضا من فرض الوصول هتبس في أكل الخاص بك ، لذلك يتم تأمين الطلبات التي تحتوي على بيانات الاعتماد (requires_channel: https في تعريفات دوري أبطال آسيا الخاص بك).

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