Azure广告机使用客户端凭据节点js加密身份验证
问题描述:
我想制作一个非浏览器应用程序来向AzureAD用户进行身份验证,而无需所有重定向并最终获取令牌。我只能使用nodeJS。 我在github上找到了支持这种场景NodeJS library的库。Azure广告机使用客户端凭据节点js加密身份验证
我想使用这个样本的系统使用蔚蓝广告执行领域发现并发送用户ADFS登录。
当ADFS服务器发现,并要求对元数据返回的XML,但应用程序重新加载并且整个过程再次开始。
这是最后的日志中的控制台,我可以看到: MEX:详细:在检索MEX:https://adfsservername/adfs/services/trust/mex
答
当使用客户端凭证流与Azure的AD进行身份验证,也没有必要与ADFS互动。通过客户端凭证
服务器到服务器:您可以参考由azure-activedirectory-library-for-nodejs提供的代码示例
var adal = require('adal-node').AuthenticationContext;
var authorityHostUrl = 'https://login.windows.net';
var tenant = 'myTenant';
var authorityUrl = authorityHostUrl + '/' + tenant;
var clientId = 'yourClientIdHere';
var clientSecret = 'yourAADIssuedClientSecretHere'
var resource = '00000002-0000-0000-c000-000000000000';
var context = new AuthenticationContext(authorityUrl);
context.acquireTokenWithClientCredentials(resource, clientId, clientSecret, function(err, tokenResponse) {
if (err) {
console.log('well that didn\'t work: ' + err.stack);
} else {
console.log(tokenResponse);
}
});
是否使用Azure的AD B2C或定期Azure的广告? – Saca
另外,对于服务调用(这是客户端凭据的用途),您不应该与ADFS或其元数据交谈。您应该使用Azure AD的元数据端点(https://login.microsoftonline.com/yourtenant.onmicrosoft.com/)配置流程。在联合租户中,联邦只为用户流量发挥作用。 – Saca
我一直在调查一些,发现在oauth2client.js中的这个函数OAuth2Client.prototype.getToken中发送请求时发生了重新加载 –