Генерация подписи общего доступа (SAS) для одного файла с использованием хранилища nodejs azure - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь сгенерировать SAS только для одного файла в функциях Azure, используя Javascript.Я использую следующий код для генерации токена SAS:

function generateSAS(context, share, directory, file, permissions)
{
    var connString = process.env.AzureWebJobsDashboard;
    var FileService = azure.createFileService(connString);

    var expiryDate = new Date();
    expiryDate.setHours(expiryDate.getHours() + EXPIRY_TIME_HOURS);

     permissions = permissions || azure.FileUtilities.SharedAccessPermissions.READ;

    var sharedAccessPolicy = { 
        AccessPolicy: {
            Permissions: permissions,
            Expiry: expiryDate
        }
    };

    var sasToken = FileService.generateSharedAccessSignature(share, directory, file, sharedAccessPolicy)
    return sasToken;
}

Однако возвращенный токен SAS действителен для каждого файла в общей папке.Есть ли способ, которым я могу ограничить область применения SAS в Javascript?

Это называется здесь:

module.exports = function (context, processQueueItem) {
    var fileName = processQueueItem.uID.toString() + randomGen() + ".png"

    var sas = generateSAS(context, share, directory, fileName, "r")
}

1 Ответ

0 голосов
/ 31 мая 2018

Оказывается, я сгенерировал имя файла ПОСЛЕ вызова функции generate SAS.Это привело к тому, что функция сгенерировала SAS для пустого имени файла, что обеспечило авторизацию для всех файлов в общей папке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...