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

时间:2020-04-24 08:48:03

标签: azure daemon msal

我有一个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 :(得分:0)

Application credentials最适合像您这样的守护程序应用程序。如果您仍然需要以用户身份进行身份验证,则可以选择不推荐使用的ROPC flow

恐怕您将不得不使用MSAL.PS手动输入凭据,以便以后可以对它们进行缓存和静默使用,因此这里的自动化程度不高,除非您替换或使用自定义工具。