Я пытаюсь создать проект с зеленым полем, который будет иметь несколько сервисов (обслуживание данных) и веб-приложений (обслуживающих HTML). Я читал о микросервисах, и они выглядят хорошо.
Проблема, с которой я все еще сталкиваюсь, заключается в том, как реализовать SSO. Я хочу, чтобы пользователь прошел аутентификацию один раз и имел доступ ко всем различным службам и приложениям.
Я могу думать о нескольких подходах:
-
Добавить службу и приложение удостоверения. Любая служба, которая защищала ресурсы, будет обращаться к службе удостоверений, чтобы убедиться, что учетные данные, которые она имеет, действительны. Если они не будут перенаправлены пользователю на аутентификацию.
-
Используйте веб-стандарт, такой как OpenID, и каждый сервис обрабатывает его собственные идентификаторы. Это означает, что пользователь должен будет самостоятельно разрешать каждую услугу/приложение, но после этого он будет SSO.
Я буду рад услышать другие идеи. Если конкретный PaaS (такой как Heroku) имеет запатентованное решение, которое также было бы приемлемым.