Можете ли вы получить маркер доступа для Azure с именем пользователя и паролем и без использования идентификатора клиента через веб-запрос?

#azure #azure-powershell #azure-authentication

Вопрос:

Сценарий: Я пытаюсь получить маркер доступа с помощью веб-запроса, поскольку я не могу использовать Azure PowerShell. Ситуация , которую я пытаюсь воспроизвести, заключается Get-AzAccessToken в том, что я прошел аутентификацию, используя свое имя пользователя и пароль, и я не предоставляю client_id .

Я могу получить маркер доступа в PowerShell, используя следующее:

 $postParams = @{
  grant_type = 'password'
  client_id  = $ClientId
  username   = $Username
  password   = $Password
  scope      = 'https://graph.microsoft.com/.default'
}

Write-Host "Getting access token for app"
  
Invoke-RestMethod `
  -Uri https://login.microsoftonline.com/$TenantId/oauth2/v2.0/token `
  -Method POST `
  -ContentType application/x-www-form-urlencoded `
  -Body $postParams
 

Я также могу получить маркер доступа с помощью команды Azure PowerShell Get-AzAccessToken .

Можно ли получить маркер доступа без использования идентификатора клиента? Если нет, то Get-AzAccessToken использует ли a client_id ?

Ответ №1:

Это невозможно без идентификатора клиента. И да, Azure PowerShell использует один из них. Лучший способ реализовать это-зарегистрировать свое собственное приложение и использовать его идентификатор клиента.

Комментарии:

1. Знаете ли вы, что client_id используется Azure PowerShell?