Достъп до файлово хранилище в Azure от уеб приложение без бекенд

Има ли начин за достъп до azure хранилище чрез Rest Api, използвайки само фронтенд javascript?

e.g:

  1. Потребителят се опитва да зареди изображение, съхранено в хранилището на Azure.

  2. Пренасочен към portal.azure.com за влизане.

  3. Изпратено обратно в моето уеб приложение, с бисквитките или каквото и да е необходимо за генериране на удостоверен URL адрес.


person Skarlinski    schedule 26.05.2019    source източник
comment
да Просто използвайте AJAX. Но вие не влизате в portal.azure.com, а използвате директно REST API на акаунтите за съхранение.   -  person Nick.McDermaid    schedule 26.05.2019
comment
@Nick.McDermaid Но как да удостоверя? Изглежда, че всички решения в документите изискват бекенд   -  person Skarlinski    schedule 26.05.2019
comment
Въпреки че не е много сигурно, за акаунти за съхранение можете просто да използвате SAS токен   -  person Nick.McDermaid    schedule 26.05.2019
comment
@Nick.McDermaid няма ли да се налага потребителят да продължава да ги създава, след като изтекат? би било най-добре, ако потребителят няма да трябва да въвежда нищо в приложението (напр. google clouds workds чрез влизане)   -  person Skarlinski    schedule 26.05.2019
comment
Никога не съм използвал google clouds, но ако не трябва да влизате, това е анонимен достъп, който може да се постигне и в акаунти за съхранение. Дори е по-малко сигурно, защото всеки, който има URL адреса, може да стигне до ресурса. docs.microsoft.com/en- us/azure/storage/blobs/   -  person Nick.McDermaid    schedule 26.05.2019
comment
@Nick.McDermaid Вижте първия ред - с .net бекенд   -  person Skarlinski    schedule 26.05.2019
comment
Да, съжалявам, че видях това (и изтрих коментара си хаха)   -  person Nick.McDermaid    schedule 26.05.2019
comment
@Nick.McDermaid Благодаря за помощта, ще останем, за да видим дали някой е управлявал потока във въпроса и ако не, ще събуди спящия гигант, който е нашият бекенд екип):   -  person Skarlinski    schedule 26.05.2019
comment
Това прилича повече на js-only github.com/shawntabrizi/Microsoft-Authentication-with -MSAL.js   -  person Nick.McDermaid    schedule 26.05.2019
comment
@Nick.McDermaid Да, изглежда е стъпка по-близо до това, от което се нуждая! гугъл от един час. Скоро ще разберем дали е твърде хубаво, за да е истина\   -  person Skarlinski    schedule 26.05.2019
comment
Може също да намерите това полезно: docs.microsoft.com /en-us/azure/storage/common/storage-auth-aad.   -  person Gaurav Mantri    schedule 26.05.2019
comment
@Skarlinski Имате ли други притеснения относно това?   -  person Tony Ju    schedule 27.05.2019
comment
@TonyJu да, успя да използва msal, за да получи токен, но сега не изглежда да мога да получа изображението от петното с помощта на този токен. Възможно е да се дължи на това, че извиквам API за почивка на петна погрешно или проблем с обхвата на токена за достъп):   -  person Skarlinski    schedule 27.05.2019


Отговори (1)


Можете да удостоверявате достъпа до Azure blobs с помощта на Azure Active Directory.

След това ще можете да получите токен за достъп за достъп до azure хранилище чрез Rest Api. Ето един пример ви превежда как да влезете в потребител и да придобиете токен, който да се използва за Graph Api на Microsoft. Можете да промените Graph API на API за съхранение.

Актуализации:

Начинът за получаване на маркер за достъп. Обхватът може да бъде https://storage.azure.com/.default

въведете описание на изображението тук

Достъп до частен блоб с токен за достъп. Трябва също да добавите заглавката x-ms-version.

въведете описание на изображението тук

person Tony Ju    schedule 27.05.2019
comment
Благодаря! Ще опитам утре. Продължавам да съм една крачка назад... надявам се обхватът по подразбиране да помогне - person Skarlinski; 28.05.2019
comment
@Skarlinski Ако отговорът ми е полезен за вас, можете да го приемете като отговор, за да помогнете на другите. Благодаря ти. - person Tony Ju; 29.05.2019
comment
разбира се ще стане, след като го накарам да работи! Благодаря отново - person Skarlinski; 29.05.2019