Я создаю токен SAS (подпись общего доступа) для своих контейнеров BLOB-объектов Azure с частным уровнем доступа, используя основное приложение .net, и он работает нормально.
Код:
private static string GetContainerSasUri(CloudBlobContainer container, string storedPolicyName = null)
{
string sasContainerToken;
if (storedPolicyName == null)
{
SharedAccessBlobPolicy adHocPolicy = new SharedAccessBlobPolicy()
{
SharedAccessStartTime = DateTime.UtcNow.AddMinutes(-1),
SharedAccessExpiryTime = DateTime.UtcNow.AddMinutes(2),
Permissions = SharedAccessBlobPermissions.Read
};
sasContainerToken = container.GetSharedAccessSignature(adHocPolicy, null);
}
else
sasContainerToken = container.GetSharedAccessSignature(null, storedPolicyName);
return container.Uri + sasContainerToken;
}
Теперь я хочу сделать то же самое, используя Angular (генерируя токены SAS). Я погуглил и нашел несколько ссылок, но ни одна из них не объясняет это подробно. Есть какой-либо способ сделать это?
1 ответ
Теперь я хочу сделать то же самое, используя Angular (генерируя токены SAS). Я погуглил и нашел несколько ссылок, но ни одна из них не объясняет это подробно. Есть какой-либо способ сделать это?
Простой ответ: нет, вы не можете создавать токены SAS из клиентской библиотеки, такой как Angular. Ну, технически вы можете, но для создания токенов SAS требуется ключ учетной записи хранения, и его создание на стороне клиента будет означать, что вы будете предоставлять ключ своей учетной записи хранения всем, кто использует ваше приложение.
Лучшим вариантом было бы сделать вызов API к вашей серверной службе и заставить эту службу создать для вас токен SAS. Таким образом, вы можете сохранить ключ своей учетной записи в безопасности.
Похожие вопросы
Новые вопросы
angularjs
Используйте для вопросов об AngularJS (1.x), JavaScript-фреймворке с открытым исходным кодом. НЕ используйте этот тег для Angular 2 или более поздних версий; вместо этого используйте тег [angular].