У нас есть приложение, построенное на статическом интерфейсе и API, размещенный в отдельном поддомене (например, web.theapp.com против api.theapp.com). Недавно мы внедрили компонент управления документами, созданный поверх хранилища BLOB-объектов Azure, с пользовательскими метаданными в API. При загрузке файла мы хотим, чтобы пользователь получил доступ к API (для проверки авторизации и т. Д.), Но затем был перенаправлен / перенаправлен на URL-адрес хранилища больших двоичных объектов с кратковременным маркером SAS. У нас есть готовая часть API, поскольку мы можем принять запрос, выполнить все необходимые проверки доступа, создать SAS, сгенерировать URL-адрес файла и перенаправить его туда.
ОДНАКО: для аутентификации в API в настоящее время используются токены Bearer, которые, очевидно, не будут работать с запросами GET, возникающими в результате нажатия на ссылки.
Есть ли хорошее "goto" решение для этого типа проблемы?
Мы думали о том, чтобы создать страницу с надписью «Ваши файлы загружаются за 3 ... 2 ... 1 ...», как в старых хостинговых службах, но это выглядит немного странно. Мы также рассмотрели возможность добавления какой-либо схемы файлов cookie, чтобы API мог принимать аутентификацию либо с токенами на предъявителя, либо с помощью файлов cookie, но нам не удалось найти информацию о том, как настроить проверку подлинности с помощью файлов cookie (соответствующий технический стек: Azure AD OAuth2 и ASP .NET Web API 2).
Есть ли хороший образец для этого типа проблемы?