如何在Node.js中使用Azure Function应用访问Azure AD

时间:2019-07-08 05:57:25

标签: javascript node.js azure azure-active-directory azure-functions

我可以使用Azure Functions访问Azure AD信息吗?我想使用SendGrid发送电子邮件并从AD中获取电子邮件。我从哪里开始?谢谢

1 个答案:

答案 0 :(得分:0)

是的,可以。主要步骤是请求访问令牌。然后使用此访问令牌访问call microsoft graph api,以获取来自AD的电子邮件。

您可以使用client credentials flow获取访问令牌。这是供您参考的代码。

var AuthenticationContext = require('adal-node').AuthenticationContext;

var authorityHostUrl = 'login.microsoftonline.com';

var tenant = '{your_tenant_name}';
var authorityUrl = authorityHostUrl + '/' + tenant;
var resource = 'https://graph.microsoft.com'; // URI that identifies the resource for which the token is valid.

var applicationId = '{your_application_id}';
var clientSecret = '{your_client_secret}';
var context = new AuthenticationContext(authorityUrl);

context.acquireTokenWithClientCredentials(resource, applicationId, clientSecret, function(err, tokenResponse) {
  if (err) {
    console.log('well that didn\'t work: ' + err.stack);
  } else {
    console.log(tokenResponse);
  }
});