我有一些单元测试(JavaScript)将被触发从VSTS运行。这些测试将测试Azure中托管的一些web api端点,并在web api webapp上配置Azure AD身份验证。
任何人都可以推荐针对Azure AD进行身份验证的最佳方法,其中客户端(VSTS中的JS代码)需要针对Azure AD Web应用程序(非本机应用程序)执行非交互式身份验证才能获取访问令牌?
有没有办法以这种方式获取访问令牌(没有在Azure令牌端点的请求中传递查询字符串参数中的凭据,我感谢它可以工作,但远非理想)?
答案 0 :(得分:0)
您可以使用Azure service principal。
答案 1 :(得分:0)
请参阅本文以在JS中使用Azure服务主体:Using the service principal
const Azure = require('azure');
const MsRest = require('ms-rest-azure');
MsRest.loginWithServicePrincipalSecret(
<clientId or appId>,
<secret or password>,
<domain or tenant>,
(err, credentials) => {
if (err) throw err
let storageClient = Azure.createARMStorageManagementClient(credentials, '<azure-subscription-id>');
// ..use the client instance to manage service resources.
}
);