我正在尝试从windows服务向Azure AD进行身份验证,所以我尝试使用带有acquiretokenbyIntegratedWindowsauth的MSAL.NET库获取访问令牌,它在prem上运行良好。其意图是将此windows服务迁移到azure web作业,我很难在不提供用户名和密码的情况下从azure AD中获得包含onPremisesSamAccountName声明的令牌。
以这种方式获取令牌的任何帮助或解决方法。
Azure WebJobs不允许使用集成的Windows身份验证。有两种方法可以从后台服务获得带有用户信息的令牌:
- 刷新令牌身份验证(需要引导(
- ROPC流(用户名密码(
第一个选项的优点是不需要存储用户名或密码。但它要求您有一个引导过程,用户在其中登录,获取刷新令牌并将其存储在后台工作人员可以获得它的地方。WebJob可以在需要令牌时使用该令牌来获取令牌。第一个选项的缺点是它更复杂,刷新令牌可能会过期,需要再次引导它。
第二个选项你可能已经知道了,因为你提到不想使用用户名和密码。优点是这种方法更简单,但也有存储密码的缺点。此外,用户帐户不能打开MFA。