Объединение страниц логина и регистрации в Everyauth для Express.js - PullRequest
0 голосов
/ 20 октября 2011

В настройках Everyauth по умолчанию для аутентификации по паролю страницы входа и регистрации различны.Я попытался объединить соответствующие файлы Jade и расположить регистр get / post и пути входа в систему на моем сервере так, чтобы они совпадали.Затем я загрузил объединенную страницу и получил следующую ошибку:

500 ReferenceError: /Users/eterna/Downloads/fame/views/index.jade:8 6 |label (for = everyauth.password.loginFormFieldName) Вход 7 |input (type = 'text', name = everyauth.password.loginFormFieldName, value = userParams [everyauth.password.loginFormFieldName])> 8 |#email 9 |label (for = everyauth.password.emailFormFieldName) Электронная почта 10 |input (type = 'text', name = 'email', value = userParams ['email']) 11 |#password userParams не определено.

Я явно поступаю неправильно.Есть ли простое решение для размещения логина и регистрации на одной странице?

1 Ответ

0 голосов
/ 28 июня 2012

Попробуйте прочитать код для настройки по умолчанию. Не глядя на ваш код (потому что вы его не опубликовали), из ошибки видно, что он срабатывает по строке 7, потому что вы пытаетесь получить доступ к userParams, который не существует для входа в систему, но существует для регистрации. Похоже, что userParams просто содержит данные, введенные пользователем в поля, поэтому при возникновении ошибки регистрации текст, введенный пользователем, помещается в форму. (то есть, если они вводят свой адрес электронной почты, но их пароль слишком короткий, регистрируйте ошибки и в поле ввода все равно будет указан адрес электронной почты)

Самый простой способ объединить регистрацию и вход в систему - это клиентская сторона. Вы могли бы 1) иметь одну форму на странице с двумя кнопками отправки - зарегистрироваться и войти. В зависимости от того, что пользователь нажимает, форма отправляет сообщения в разные точки входа.

2) создать вкладки регистрации и входа в систему, поэтому при нажатии на кнопку регистрации отображается форма регистрации, а при нажатии на вкладку входа в систему она переключается на другую форму

Вы могли бы пойти по пути, заставляющему каждую лозунгу выполнять эту логику, переопределив responseToLoginFail, поэтому, когда он пытается войти в систему и терпит неудачу, он перестраивает запрос и делает последующий вызов пути регистра. Я не рекомендовал бы это, но возможно заставить это работать.

...