사용자 인증을 위해 Devise 및 Omniauth를 사용하고 있습니다.Devise : 사용자가 브라우저를 닫을 때마다 다시 로그인해야합니다.
사용자가 인증 후 2 주 동안 로그인 상태를 유지하기를 원합니다. 그러나 사용자가 브라우저 창을 닫았다가 다시 열 때마다 로그인 화면이 다시 나타납니다.
브라우저를 닫았다가 다시 연 후에도 사용자가 계속 연결 상태를 유지하기위한 올바른 구성은 무엇입니까?
사용자 인증을 위해 Devise 및 Omniauth를 사용하고 있습니다.Devise : 사용자가 브라우저를 닫을 때마다 다시 로그인해야합니다.
사용자가 인증 후 2 주 동안 로그인 상태를 유지하기를 원합니다. 그러나 사용자가 브라우저 창을 닫았다가 다시 열 때마다 로그인 화면이 다시 나타납니다.
브라우저를 닫았다가 다시 연 후에도 사용자가 계속 연결 상태를 유지하기위한 올바른 구성은 무엇입니까?
고안의 위키 체크 아웃이 페이지를 : omniauth 사용하는 경우
https://github.com/plataformatec/devise/wiki/Omniauthable,-sign-out-action-and-rememberable
기본적으로 고안 기본적으로 rememberable 호출하지 않습니다. 그렇게하고 싶다면 간단한 전화 remember_me(@user)
을 omniauth 콜백으로 보내고 Devise가 힘든 일을 할 것입니다. 또한 장치 초기화 프로그램에 설정된 모든 구성 옵션을 사용합니다.
감사합니다. 그거였다. 나는 나 자신을 기억하는 체크 박스를 구현해야했다. – davidrac
당신은 로그인에 쿠키를 추가하고 로그 아웃 할 수있는 유증의 SessionsController을 확장, 그래서 컨트롤러는 모양을이 하나
class SessionsController < Devise::SessionsController
# POST /resource/sign_in
def create
cookies[:sign_in] = "Sign in info you want to store"
# add this for expiration { :expires => 2.weeks.from_now }
super
end
# GET /resource/sign_out
def destroy
cookies[:sign_out] = "Sign out info you want to store"
super
end
end
그런 다음 당신은 당신의 routes.rb에 다음을 추가해야합니다 :
또한 쿠키 만료 시간을 2 주로 설정할 수 있습니다.
이 도움이 될 수 있습니다. http://stackoverflow.com/questions/5987075/devise-remember-me-not-working-localhost-issue – Rubyman