꧁꧂Лариса ꧁꧂, добрый день,
мы остановились на варианте 2 - backend
Бекенд у нас на Nestjs (Nodejs+Express+TypeScript), методы аутентификации было легко реализовать с помощью passport.js
Вот так решили задачу реферальных ссылок:
- новый клиент нажимает на реферальную ссылку типа https://example.com/join/blablacode
- frontend сохраняет код в local storage и делает редирект клиента на https://example.com/register
- если клиент регистрируется с помощью email + password, то реферальный код отправляется на backend вместе с POST запросом
- если клиент выбирает логин с помощью социальной сети, то он переходит по ссылке https://example.com/auth/facebook (которая уже обслуживается backend а не frontend )
- после успешной аутентификации backend делает редирект на frontend , и frontend делает дополнительный запрос на backend , чтобы установить для нового клиента реферальный код.
То есть, frontend в данном случае сам выполняет роль "сессии", а backend ничего не хранит. В нашем случае выполнять такой код с frontend не страшно, реферальный код установится только раз, если еще не был заполнен.
Код на стороне сервера (обработчик app.post('/login',...) и стратегия) выглядят верно.
Можете дополнить, возвращаются ли ожидаемые сообщения и HTTP статус коды в отладочной консоли?
Возможно, проблема уже в самой форме (отсутствие библиотеки или неправильный конфиг для показа ошибок в форме).
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
мы остановились на варианте 2 - backend
Бекенд у нас на Nestjs (Nodejs+Express+TypeScript), методы аутентификации было легко реализовать с помощью passport.js
Вот так решили задачу реферальных ссылок:
- новый клиент нажимает на реферальную ссылку типа https://example.com/join/blablacode
- frontend сохраняет код в local storage и делает редирект клиента на https://example.com/register
- если клиент регистрируется с помощью email + password, то реферальный код отправляется на backend вместе с POST запросом
- если клиент выбирает логин с помощью социальной сети, то он переходит по ссылке https://example.com/auth/facebook (которая уже обслуживается backend а не frontend )
- после успешной аутентификации backend делает редирект на frontend , и frontend делает дополнительный запрос на backend , чтобы установить для нового клиента реферальный код.
То есть, frontend в данном случае сам выполняет роль "сессии", а backend ничего не хранит. В нашем случае выполнять такой код с frontend не страшно, реферальный код установится только раз, если еще не был заполнен.