Можем ли мы вызвать Azure API Management через c# код без использования SAS Token - PullRequest
1 голос
/ 20 февраля 2020

Я настроил аутентификацию oauth2.0 в экземпляре APIM через портал.

Я также создаю запись AAD для экземпляра APIM.

Я могу также генерировать токен-носитель jwt через портал разработчика APIM.

Но как я могу сгенерировать токен JWT для вызова методов APIM из C# приложения.

Я хочу вызывать методы APIM с использованием OWUTH2.0 JWT-токена из C# приложения.

Как это сделать.

Просьба предоставить образцы, если таковые имеются.

1 Ответ

0 голосов
/ 21 февраля 2020

Сначала необходимо выполнить следующие шаги:

1) Создать приложение внутри azure ad 2) Go в APIM => вкладка «Контроль доступа (IAM)» 3) Добавить созданное приложение выше (для этого требуется разрешение в APIM) 4) Теперь вы должны увидеть приложение Azure AD на вкладке управления доступом (IAM) APIM

Тогда вы сможете получить токен доступа из своего Azure AD, используя идентификатор клиента и секрет клиента

public class myServiceCredentials : ServiceClientCredentials{
   private string AuthenticationToken { get; set; } 
   public override void InitializeServiceClient<T>(ServiceClient<T> client)
   {
      var authenticationContext = new AuthenticationContext("https://login.windows.net/{tenantID}");
      var credential = new ClientCredential(clientId: "xxxxx-xxxx-xx-xxxx-xxx", clientSecret: "{clientSecret}");
     var result = authenticationContext.AcquireToken(resource: "https://management.core.windows.net/", clientCredential: credential);

    if (result == null)
    {
        throw new InvalidOperationException("Failed to obtain the JWT token");
    }
    AuthenticationToken = result.AccessToken;
}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...