كيف يمكنني تسجيل دخول مستخدم في التخليص من جهاز توجيه مخصص؟

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

سؤال

أقوم بإضافة Omniauth إلى تطبيقي حيث أستخدم Clearance للمصادقة المنتظمة.لقد واجهت جدارًا أثناء محاولتي تسجيل دخول مستخدم برمجيًا.

أنا أبحث عن شيء مثل sign_in_and_redirect من Devise، ولكن لا يمكن العثور عليه في Clearance.

لقد حاولت استخدام sign_in <User> والاتصال redirect_to root_path تماما بعد.ومع ذلك، عند تحميل الصفحة الجذرية، سيظهر ملف current_user لم يتم تعيين.

لا أحد يعرف كيفية القيام بذلك؟هل يعرف أحد برنامجًا تعليميًا لإضافة Omniauth إلى Clearance؟

شكرًا

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

المحلول

لم أستخدم Clearance، عادةً ما أقوم بإجراء المصادقة الخاصة بي أو أستخدم Devise، ولكن نظرة سريعة على الكود تخبرني أن تسجيل الدخول (@user) لا يفعل شيئًا أكثر من تعيين @current_user=@user لذا فأنت بحاجة إلى طريقة ما للاستمرار تلك المعلومات قبل إعادة التوجيه.يبدو أن التخليص يستخدم Remember_token لهذا الغرض، لذا سأحاول (لم يتم اختباره) شيئًا مثل هذا:

sign_in(@user)
cookies['remember_token'] = @user.remember_token
redirect_to(root_path)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top