Я начинаю проект, используя Azure в качестве нашего бессерверного фреймворка.
Проект состоит из двух отдельных фронтендов, которые должны общаться с некоторыми бэкенд-сервисами, некоторые будут сделаны мной, а другие - другими командами.
Я планирую реализовать BFF между фронтендами и другими доменными сервисами.
Мой вопрос касается авторизации. Я могу придумать два способа:
Передача токена от BFF доменным службам
a. ИП запрашивает токен у поставщика услуг доступа
b. ИП отправляет токен в BFF
c. BFF проверяет токен и диапазоны
d. BFF добавляет токен в http-заголовок при вызове доменных служб
BFF запрашивает и кэширует токены machine 2 machine для вызова других сервисов
a. BFF настроен как клиент других служб
b. BFF запрашивает токен и периодически кэширует/обновляет его
c. ИП запрашивает токен у поставщика услуг авторизации
d. ИП отправляет токен в BFF
e. BFF проверяет токен и область применения
f. BFF использует один из своих собственных токенов для вызова других служб
Я вижу, что первый шаблон намного проще в реализации, так как есть только один токен, который предоставляет доступ к BFF и другим сервисам. Но я не уверен, что это правильный паттерн.
Может ли кто-нибудь поделиться своим опытом по этому вопросу?