Получение токена доступа от Azure с использованием MSAL.PS - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть скрипт Powershell, который должен запускаться автоматически (демон), который должен пройти аутентификацию в Azure AD. У меня есть «рабочий» скрипт, к которому я получаю правильный токен доступа, но для этого мне нужно вручную ввести имя пользователя / пароль. Как выполнить сценарий, настроив имя пользователя / пароль

Что сделано:

  • Пользователь создан в Azure и ему назначена лицензия Office (это пользователь, для которого я должен ввести имя пользователя / пароль)
  • Выполнена регистрация приложения ($ clientid и $ clientsecret в приведенном ниже коде)
  • Использование MSAL.PS v4.10.0.2
$redirecturi = "<redirect url>"
$redirecturi
$scope = '<scope>'

$sec = ConvertTo-SecureString $clientsecret -AsPlainText -Force
$app = New-MsalClientApplication -ClientId $clientid -ClientSecret $sec -RedirectUri $redirecturi -TenantId $tenantid
$az_access_token = $app | get-msaltoken -Scope $scope -LoginHint $loginhint | select -expand accesstoken

1 Ответ

0 голосов
/ 04 мая 2020

Учетные данные приложения лучше всего подходят для таких приложений-демонов, как ваше. Если вам все еще нужно пройти аутентификацию пользователя, вы можете выбрать ROP C flow , что не рекомендуется.

Боюсь, вам придется вводить учетные данные вручную, используя MSAL.PS, чтобы их можно было кэшировать и потом использовать без вывода сообщений, поэтому здесь не будет большой автоматизации, если вы не замените или не используете пользовательские инструменты.

...