使用MSAL从Azure获取访问令牌.PS



我有一个Powershell脚本,它应该自动运行(守护进程(,需要向Azure AD进行身份验证。我有一个"工作"脚本,可以获得正确的访问令牌,但这需要我手动输入用户名/密码。如何通过配置用户名/密码来执行脚本

已经做了什么:

  • 在Azure中创建了一个用户,并且已经分配了Office许可证(此是我必须输入用户名/密码的用户(
  • 已完成应用程序注册(中的$clientid和$clientsecret下面的代码(
  • 使用MSAL。PS版本4.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

应用程序凭据最适合像您这样的守护程序应用程序。如果您仍然需要作为用户进行身份验证,那么您可以选择不推荐的ROPC流。

恐怕您将不得不使用MSAL手动输入凭据。PS,这样它们就可以缓存并在以后静默使用,因此除非您更换或使用自定义工具,否则这里没有太多自动化。

最新更新