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

问题描述 投票:0回答:1

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

完成了什么:

  • 在Azure中创建了一个用户,并且已分配Office许可证(此是我必须输入用户名/密码的用户)
  • 已经完成了应用注册($$ userid和$ 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

azure daemon msal
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.