2015-09-25 4 views
6

Я только начал использовать паруса и пытаюсь реализовать аутентификацию. Я установил все как советовали, а затем создал простую регистрационную форму с нефритом:Как перенаправить паруса после входа с разрешениями на паруса

form(action="/auth/local", method="post") 
    div 
     input(name="identifier" type="text") 
    div 
     input(name="password" type="password") 
    div 
     input(type="submit") 

Это регистрирует authentication successful и направляет меня на страницу, возвращающегося

{ 
    "createdBy": 1, 
    "owner": 1, 
    "username": "admin", 
    "email": "[email protected]", 
    "id": 1, 
    "createdAt": "2015-09-25T18:14:20.000Z", 
    "updatedAt": "2015-09-25T18:39:30.000Z", 
    "gravatarUrl": "https://gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61" 
} 

Теперь я хочу, чтобы перенаправить вновь зарегистрированный пользователь на любую страницу, поэтому я попытался изменить действие формы на

/auth/local/login 

который перенаправляет/входа в систему, но журналы

warn: Error: Invalid action 

serveride.

В моей конфигурации/маршрутов файл У меня есть маршрут, как это:

"/login" : { 
    view:"login" 
} 

Что такое правильный способ установки перенаправления в парусов после входа в систему?

ответ

4

С помощью /auth/local/login он пытается позвонить по телефону login для местной стратегии паспорта. Но, как вы можете видеть из source, локальная стратегия имеет три действия:

register: Этот метод создает нового пользователя из указанного адреса электронной почты, имени пользователя и пароля и назначает вновь созданному пользователю локальный паспорт.

connect: Эта функция может использоваться для назначения локального паспорта пользователю, у которого уже нет его. Это будет иметь место, если пользователь зарегистрировался с использованием сторонней службы и поэтому никогда не устанавливал пароль.

disconnect: Отсоедините паспорт от пользователя

Для других действий он будет бросать Invalid action ошибки.

Правильный путь для перенаправления после успешного входа в систему, чтобы использование next query parameter:

/auth/local?next=login