Есть ли проблема с моим запросом для получения моего токена? - PullRequest
1 голос
/ 22 мая 2019

Я пытаюсь получить токен oauth из моего Azure AD с помощью Powershell.

Я пытаюсь сгенерировать свой токен в текстовом файле, чтобы увидеть результат первого шага моего запроса.

Я пытаюсь получить токен Azure Digital Twins. Константа, которую вы видите в $ resourceId, предоставляется Microsoft для запроса AzureDigitalTwins. А вот и мой сценарий:

# Load ADAL methods
Add-Type -Path ".\MyPath\Microsoft.IdentityModel.Clients.ActiveDirectory.dll"

$resultToken = ".\TokenTest.txt"

# Conf here
$aadInstance = "https://login.microsoftonline.com/"
$tenantId = "myTenantID"
$applicationId = "myAppID"
$applicationSecretKey = "myAppSecret"
$resourceId = "0b07f429-9f4b-4714-9392-cc5e8e80c8b0"


# Get an Access Token with ADAL
$authContext = New-Object Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext($aadInstance + $tenantId)
$clientCredential = New-Object Microsoft.IdentityModel.Clients.ActiveDirectory.ClientCredential($applicationId, $applicationSecretKey)
$authenticationResult = $authContext.AcquireTokenAsync($resourceId, $clientCredential)
($token = $authenticationResult.AccessToken) | Out-File $resultToken 

После запуска сценария мой текстовый файл пуст, но я не получаю ошибки.

Я использую точно такой же код в C # для получения токена, и он работает отлично, но, видимо, не в Powershell.

Есть ли проблема с этим? Спасибо за ваши ответы.

1 Ответ

2 голосов
/ 22 мая 2019

Нашел ответ!Просто нужно добавить .GetAwaiter (). GetResult () к методу AcquireTokenAsync!

$authenticationResult = $authContext.AcquireTokenAsync($resourceId, $clientCredential).GetAwaiter().GetResult()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...