Service-to-Service authentication: hardcode tokens vs. OAuth Client Credentials vs. OAuth Authorization Code

0
30 авг 2016 09:14
Реализуя аутентификацию между сервисами у меня собсно перечисленные опции:
- Просто хардкодить на обоих сторонах сервисные username/password которые передаются сервисом в Authorization хедере. Эдакий Basic Auth для сервисов. Имя конечного пользователя передается как параметр при вызове сервисов.
- Использовать OAuth2 Client Credentials - т.е. мое приложение имеет сервисную учетку с которой логиниться в Auth Server и получает свой токен. Имя конечного пользователя передается как параметр при вызове сервисов.
- Использовать OAuth2 Authorization Code - пользователь логиниться и его токен мы передаем 3ему сервису. Имя пользователя сервис получит имея token.
- Ну и один из OAuth2 подходов + JWT (чтоб лишние вызовы не делать Resource Server'у) - это в общем мало что меняет.

Вопрос - какие плюсы/минусы вы видите в каждом подходе? Хочется выбрать что-то раз и навсегда, однако вижу у каждого из вариантов какие-то проблемы. Кто что думает по этому поводу?
Модераторы:
Сейчас эту тему просматривают: Нет