Показать сообщение отдельно
  #1 (permalink)  
Старый 04.08.2018, 00:22
Новичок на форуме
Отправить личное сообщение для olimpset Посмотреть профиль Найти все сообщения от olimpset
 
Регистрация: 04.08.2018
Сообщений: 9

Как вернуть коллбек OpenID (NodeJS + Angular)
На бэкенде (node) реализована авторизация с помощью passport (passport-steam). Как из фронтенд (angular) вызвать страницу авторизации, но так чтобы бы можно было получить ответ. Если делать обычным способом $http.get('/auth/steam), то ошибка, так как Стим должен открываться во вкладке браузера. Но если сделать так: window.location.url = auth/steam, то страница авторизации (Стима) открывается. Но как вернуть результат, что авторизация прошла успешно, когда по GET передаются токены (ответ) обратно сайту, ведь сайт как бы закрывается и связь прерывается, когда во вкладке открывается другой сайт?

Изначальная проблема в том, что нужно отследить что авторизация прошла и res.redirect('/'), но естественно, он не сработает, так как только в фронтенд можно делать переадресацию. Думал это сделать с помощью socket.io на клиенте функция onAuth() и она вызывается, когда пришел ответ OpenID, и уже делает редирект куда нужно. Но это костыль, как мне кажется. Не держать же постоянно конект, только для этого. Помогите, уже неделю с этим мучаюсь, что только не гуглил уже.
Ответить с цитированием