Azure AuthenticationContext |Каким должно быть значение первого параметра «авторитет» - PullRequest
0 голосов
/ 12 сентября 2018

Я имею в виду следующую статью: https://docs.microsoft.com/en-us/azure/storage/blobs/storage-encrypt-decrypt-blobs-key-vault

Мне нужна помощь, чтобы понять параметры метода, вставленного ниже:

private async static Task<string> GetToken(string authority, string resource, string scope)
{
    var authContext = new AuthenticationContext(authority);
    ClientCredential clientCred = new ClientCredential(
        ConfigurationManager.AppSettings["clientId"],
        ConfigurationManager.AppSettings["clientSecret"]);
    AuthenticationResult result = await authContext.AcquireTokenAsync(resource, clientCred);

    if (result == null)
        throw new InvalidOperationException("Failed to obtain the JWT token");

    return result.AccessToken;
}

Пожалуйста, посоветуйте, какими должны быть значения GetToken( строковые права, строковый ресурс, строковая область )

Ответы [ 2 ]

0 голосов
/ 03 апреля 2019

Хороший пример (я немного изменил код, так как он устарел и использовал ваши значения для клиента / секрета), для получения KeyVaultClient () с использованием учетных данных AD.

var keyVaultClient = new KeyVaultClient(async(authority, resource, scope) =>
{
    var adCredential = new ClientCredential(ConfigurationManager.AppSettings["clientId"],
        ConfigurationManager.AppSettings["clientSecret"]);
    var authenticationContext = new AuthenticationContext(authority, null);
    var authenticationResult = await authenticationContext.AcquireTokenAsync(resource, adCredential);
    return authenticationResult.AccessToken;
});

authority, resource и scope предоставляются SDK (т. Е. Вам не нужно предоставлять значения для них) и передаются в функцию делегата AuthenticationCallback, который возвращает токен, чтобы получить клиентское хранилище ключей.Надеюсь это поможет!:)

0 голосов
/ 13 сентября 2018

Орган - https://login.windows.net/<your AD tenant GUID> (это орган, выдавший токен)

Ресурс - https://vault.azure.net (это ресурс, для которого запрашивается токен)

Область действия - Пустая строка для этого случая. Обратите внимание, что это параметр в вашем методе, но он нигде не используется.

Также обратите внимание, что вы будете вызывать этот метод напрямую в очень редких случаях при использовании объектной модели. Скорее всего, вы просто передадите делегата для этого метода в KeyVaultClient.AuthenticationCallback или KeyValutKeyResolver, как показано в учебном пособии, которым вы поделились.

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