當使用客戶端憑證流與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中發送請求時發生了重新加載 –