лучший способ передать токен приложения из бэкэнда весенней загрузки в угловой интерфейс после согласования OAuth - PullRequest
0 голосов
/ 25 января 2019

Архитектура:

  • интерфейс: угловое приложение
  • серверная часть: приложение для весенней загрузки

Требования:

  • аутентификация пользователя с помощью Google OAuth в бэкэнде (из-за необходимости обновления токена), сохранение токена доступа OAuth и токена обновления в бэкэнд-системе (для внутренних операций), а также возврат пользовательского (сгенерированного бэкенда) токена интерфейс для использования furthur api.

Текущий подход:

  • запуск модуля входа в Google oauth из внешнего интерфейса (после нажатия кнопки «Войти в Google») с URL-адресом перенаправления, указывающим на внутренний интерфейс
  • извлечение кода авторизации в URL обратного вызова бэкэнда (после согласия пользователя) вместе с отправкой запроса в Google для получения «токена доступа» и «токена обновления»
  • при условии успешного согласования серверная часть сохранит токены доступа / обновления в своем хранилище. После этого сервер должен создать собственный токен для внешнего интерфейса и отправить его клиенту angular. поскольку после завершения сценария OAuth нет никакой связи с веб-интерфейсом, возникает вопрос: «Как отправить токен приложения на угловой интерфейс в конце согласования OATH?» **, что для этого лучше всего делать?

Вопрос

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

но я не уверен, если это правильный способ обработки (отправка токена приложения через GET-вызов из бэкэнда в угловой компонент - который будет виден). Есть ли лучший способ справиться с этим? есть ли проблемы с безопасностью при текущем подходе?

...