Это правильный подход? Какая лучшая практика?
Да, это правильно, и это должна быть лучшая практика (по крайней мере, я могу найти). Чтобы защитить API-интерфейсы с помощью Azure AD, вам всегда нужно зарегистрировать для него приложение AD, предоставить API-интерфейсы, затем в клиентском приложении добавить разрешение API, логин пользователя и согласие на разрешение, получить токен и вызвать API.
Нет более простого способа управления сессиями? Что-то похожее на flask -login, но для API-интерфейсов (т.е. что-то не основанное на файлах cookie сеанса)?
Насколько мне известно, не существует такой вещи, как flask -login для API .