Я нахожусь на ранних этапах разработки приложения без сервера со следующими компонентами:
SPA с использованием React, для которого я планирую запустить статические активы в хранилище Azure.
Внутренний API-интерфейс, управляемый функциями Azure.
Потенциально база данных CosmosDB, если нам удастся избежать использования полноценного SQLСервер.Это будет зависеть от того, насколько сложной будет наша схема.
В бэкэнде есть несколько других компонентов, но они не имеют отношения к этому вопросу.
По сути, я пытаюсь выяснить, как в моем React SPA можно создавать формы для регистрации и входа, кнопки и т. Д., Которые подключаются к пулу пользователей, управляемому Azure.
Проблема, с которой я сталкиваюсь на ранних этапах проектирования, заключается в моем понимании решений Azure для того, что мне нужно.Мой опыт работы в AWS.В AWS я бы просто создал пул пользователей Cognito и подключил процесс регистрации / входа моего приложения в указанный пул пользователей с помощью AWS SDK.
Этот процесс имеет смысл для меня.Однако в мире Azure все не так уж и просто.Я читал статьи / технические документы о Azure AD, Azure AD B2C и т. Д. И т. Д. Процессы, описываемые в этих статьях, никогда не упоминают взаимосвязь между формами, которые я создаю в своем SPA, и тем, как оттуда запускать аутентификацию.в Azure AD.По сути, я хочу, чтобы находящийся в игре Azure AD был невидим для пользователя;им только когда-либо придется взаимодействовать с моим клиентским приложением (т. е. не перенаправлять на страницы регистрации или входа в Microsoft или Azure и т. д.).
Пока что я придумалвключает следующее (опять же, я все еще на этапе разработки):
- Хранилище Azure для размещения статических активов.
- Функции Azure с прокси-серверами функций Azure для маршрутизации междуинтерфейс и API.
- Похоже, что поток пользователей Azure AD - это то, что вам нужно услышать;Тем не менее, я все еще не уверен, есть ли SDK, которые SPA может использовать для взаимодействия с такими функциями, как вход, забыл пароль, выход из системы и т. д. Я хочу избежать повторного вызова колеса в максимально возможной степени.
Я еще не начал писать код, поскольку в настоящее время я все еще на этапе разработки карандашом / бумагой.Я пришел к выводу о следующих проблемах:
Имеет ли смысл запускать приложение React в хранилище BLOB-объектов по сравнению с наличием веб-приложения Azure?Под этим я подразумеваю, что я все еще буду в состоянии подключиться к процессу аутентификации, который обеспечивает Azure AD, без фактического запуска сервера.
Полностью ожидать, что, как только я реализую Signingup / Sign-In User Flow, я смогу запускать процессы AAD и получить JWT для использования с последующими вызовами внутреннего API.Я пока не уверен, так ли это просто.
Я не ищу ни кода, ни чего-либо, просто в основном прояснение некоторых моих неопределенностей и подтверждение того, чтомой текущий путь имеет смысл.