كيف يمكنني تسجيل دخول مستخدم في التخليص من جهاز توجيه مخصص؟
-
13-11-2019 - |
سؤال
أقوم بإضافة 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)