Как правильно реализовать единый вход с архитектурой Frontend / Backend - PullRequest
0 голосов
/ 22 апреля 2019

Я хочу попросить совета относительно рекомендуемого или стандартного способа реализации входа в систему единого входа на основе архитектуры FrontEnd / BackEnd.

В настоящее время мне потребуется внедрить сторонний вход в систему единого входа. Процесс как ниже:

  1. Пользователь нажимает кнопку «Вход в систему» ​​на моем веб-сайте.
  2. Маршрут к стороннему интерфейсу для единого входа.
  3. После входа в систему, перенаправьте обратно на мой сайт

К вашему сведению, моя системная архитектура состоит из внешнего интерфейса (угловой) и внутреннего интерфейса (остальные API - без сохранения состояния). Исходя из вышеизложенного, я могу придумать 2 способа интеграции:

Путь 1

  1. Пользователь нажимает «Вход в стороннюю систему» ​​во внешнем интерфейсе
  2. Маршрут к стороннему интерфейсу для входа в систему единого входа.
  3. После входа в систему, перенаправить обратно на бэкэнд
  4. Подтвердите запрос и установите токен, и бэкэнд перенаправит на мой интерфейс

Путь 2

  1. Пользователь нажимает «Вход в стороннюю систему» ​​во внешнем интерфейсе
  2. Маршрут к стороннему интерфейсу для единого входа.
  3. После входа в систему, перенаправить обратно на веб-интерфейс
  4. Фронтенд вызовет бэкэнд для проверки и получения результата / токена
  5. Если проверка прошла успешно, веб-интерфейс перенаправит на домашнюю страницу.

Разница между способом 1 и способом 2 заключается в том, что «URL перенаправления». После завершения входа в систему единого входа он всегда должен направляться во внешний или внутренний интерфейс?

Пожалуйста, дайте мне совет по рекомендуемой / стандартной реализации.

Кстати, я пытался проверить онлайн, но не нашел подходящего совета. Если вы нашли, пожалуйста, поделитесь со мной. Еще раз спасибо и признателен за помощь.

...