Как мне заставить AuthLogic пропустить проверку пароля? - PullRequest
2 голосов
/ 25 мая 2010

Мне кажется, я просто упускаю что-то очевидное. Я отправляю пользователю скоропортящийся токен, встроенный в ссылку. Они нажимают на нее и возвращаются на сайт. Я хочу войти в систему автоматически - аутентифицируемый по их скоропортящимся токенам, а не по паролю. (Я не строю банковское приложение).

Кажется, это должно быть просто, но все примеры, которые я нашел, требуют пароль. Как мне полностью пропустить это? Когда я пытаюсь заставить работать UserSession.create, он сообщает об ошибке проверки и не создает сеанс пользователя. Как обойти это?

@user = User.find_by_perishable_token(params[:token])
if @user
  if !current_user
    # skip sign-in
    UserSession.create!(@user.email)
     # => error "You did not provide any details for authentication."
  ...

Я много гуглил, но не нашел ответа.

1 Ответ

1 голос
/ 25 мая 2010

Разве UserSession.create не принимает объект пользователя в качестве первого аргумента? Если это так, не могли бы вы просто сделать:

UserSession.create(User.find_by_perishable_token(params[:token]))
@current_user_session = UserSession.find

Или это то, где вы сталкиваетесь с проблемами?

...