从VSTS获取Azure AD访问令牌?

时间:2018-06-15 14:56:49

标签: azure azure-devops azure-active-directory access-token adal

我有一些单元测试(JavaScript)将被触发从VSTS运行。这些测试将测试Azure中托管的一些web api端点,并在web api webapp上配置Azure AD身份验证。

任何人都可以推荐针对Azure AD进行身份验证的最佳方法,其中客户端(VSTS中的JS代码)需要针对Azure AD Web应用程序(非本机应用程序)执行非交互式身份验证才能获取访问令牌?

有没有办法以这种方式获取访问令牌(没有在Azure令牌端点的请求中传递查询字符串参数中的凭据,我感谢它可以工作,但远非理想)?

2 个答案:

答案 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.
  }
);