سؤال

أحاول استخدام جوهرة REST-CLIENT للقيام ببعض المهام الصغيرة لتطبيقي الذي يستخدم AuthLogic لمصادقة المستخدمين. من واجهة برمجة تطبيقات REST-CLIENT ، أرى أنه يمكن للمرء نشر البيانات اللازمة لعملية تسجيل الدخول مثل هذه:

require 'rest_client'
RestClient.post "http://127.0.0.1:3000/user_sessions", {:user_session => {:username => 'myusername', :password => 'mypassword'}}.to_json, :content_type => :json, :accept => :json

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

RestClient.get 'http://127.0.0.1:3000/users/1'

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

لقد استخدمت Curl لإعادة إنتاج هذا السيناريو بنجاح ، حيث أستخدم التبديل '-c cookie.txt' لتوفير معلومات حول تسجيل الدخول بالفعل ، واستخدم التبديل '-b cookie.txt' لكل مكالمة لإخبار جهاز التحكم عن بُعد خادم عن بلدي المصادقة. أستطيع أن أفهم هذا المفهوم مثل ختم على معصمك عند الذهاب في منتزه موضوع أو شريط يعلمون فيه أنك دفعت. لكنني لا أجد ذكرًا لمثل هذه الآلية في RestClient. أي مساعدة ستكون رائعة لحل هذا. لا مانع من تجربة عملاء HTTP الآخرين ، أيضًا.

يعتبر

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

المحلول

إذا كنت تستخدم AuthLogic ، فيمكنك استخدام رمز الاستخدام الفردي بدلاً من المستخدم/المرور. الرمز المميز للاستخدام الفردي هو خصيصًا لمكالمات API مثل ما يبدو أنك تفعله هنا.

يرى: RDOCs هنا

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