В настоящее время я разрабатываю SOA-решение, в котором каждый сервис в архитектуре является безопасным, аутентифицирующим гипермедиа-ресурсом (как в действительно гипермедиа, а не RPC с красивыми URL-адресами).
Ориентированный на клиента, компаниивнутренние и пользовательские приложения будут построены на основе этой архитектуры (здесь нет ничего необычного).Я не могу предположить, что существует общий шаблон аутентификации между приложениями, потому что требования к идентификации пользователя и управлению учетными данными могут существенно различаться.
Из этого следует, что службы в архитектуре должны использовать отдельную схему аутентификации.В идеале это должно быть полностью согласовано между службами (например, HMAC), чтобы разрешить повторное использование максимально возможного количества клиент-серверных модулей.
Мой вопрос к вам таков: существует ли общий шаблон дляОбеспечение согласованной аутентификации и управления учетными данными в разных службах?Если да, то что это?
Я выдвинул несколько идей, но были бы признательны замечания более опытных инженеров:
1) Каждый сервиспредоставляет дискретный, но механически идентичный интерфейс аутентификации и отвечает за собственное управление учетными данными.
2) As 1) , но с общим управлением учетными данными.Дискретный интерфейс аутентификации по-прежнему предоставляется для каждой службы в архитектуре, как в 1) , но базовый носитель данных является общим.
3) СуществуетЕдиная общая служба аутентификации, которая отвечает за аутентификацию и управление учетными данными для себя и всех других сервисов.
Я считаю идею 2) наиболее привлекательной, но она нуждается в некотором уточнении.Если я не нахожусь здесь на неправильном пути.
Пожалуйста, критикуйте / предлагайте столько, сколько считаете нужным.Имея в виду, конечно, что речь идет о дизайне, а не о реализации;Я не интересуюсь фреймворком / промежуточным программным обеспечением / протоколом XYZ на данный момент.
Извинения за прозу, и спасибо за чтение.