场景:我正在尝试使用web请求获得访问令牌,因为我无法使用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
获得访问令牌。
是否有可能在不使用client_id的情况下获得访问令牌?如果没有,Get-AzAccessToken
是否使用client_id
?
没有客户机id是不可能的。是的,Azure PowerShell是使用一个。实现这一点的最佳方法是注册自己的应用程序并使用其客户端id。