Продолжать получать недопустимое имя пользователя или пароль при прохождении аутентификации для Microsoft Graph API в Powershell - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь использовать аутентификацию по паролю, чтобы получить access_token через Graph API в Powershell. На самом деле, я сделал несколько скриптов, которые аутентифицируются с помощью «Client_Credentials», для сбора информации об использовании Office 365 пользователями. Мне также нужно получить список чатов Teams, но я обнаружил, что он поддерживается только делегированным разрешением, а не разрешением приложения, я понимаю, что должен попытаться выполнить аутентификацию с помощью пароля для определенного пользователя c, вошедшего в систему. После того, как я попытался выполнить аутентификацию ниже метод "пароля", имя пользователя и пароль, которые я ввожу в командной строке, - это то, что я использовал, это простые учетные данные для входа в систему с именем пользователя и паролем. Но все равно продолжайте получать:

*"error:"invalid_grant","error_description": "AADSTS50126": Error validating credentials due to invalid username or password" .*

Как я уже упоминал, у меня было приложение, зарегистрированное в Azure AD Directory должным образом для других сценариев аутентификации Client_Credentials, они работают нормально, я не уверен, что мне нужно что-то проверить или изменить в реестре приложений?

$tenant    = 'GUID OR Domain Name'
$appId     = 'APP GUID'
$URI       = 'https://login.microsoft.com/$tenant/oauth2/v2.0/token/
$cred      = Get-Credential -Message "Please enter your Office 365    Credentials"
$oauthUser = Invoke-RestMethod -Method Post -Uri $uri -Body  @{
    grant_type = 'password';
    client_id  =  $clientID;
    username   =  $cred.username;
    password   =  $cred.GetNetworkCredential().Password;
    resource   = 'https://graph.microsoft.com';
}
...