我可以使用Azure Functions访问Azure AD信息吗?我想使用SendGrid发送电子邮件并从AD中获取电子邮件。我从哪里开始?谢谢
答案 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);
}
});