gpt4 book ai didi

node.js - 如何从node.js服务器端非交互地使用azure AD身份验证

转载 作者:搜寻专家 更新时间:2023-11-01 00:48:23 24 4
gpt4 key购买 nike

我已经配置了azure AD服务和其中的用户,并使用react-adal来获取 token ,效果很好。但现在我需要更改此流程,而是拥有自己的登录表单并将凭据发送到 Node 。我使用 Node.js Express 服务器并从 azure 广告验证这些内容,而无需从 azure 弹出登录窗口,并将返回的 token 存储在 Passport session 中。我尝试过使用 node-adal 但不确定如何实现这一点,可以这样做吗?有没有这方面的例子。谢谢

最佳答案

同意@juunas,这里有非交互式方法( login with username and password )供您引用。此示例用于管理 MicrosoftGraph 资源。

var msRestAzure = require('ms-rest-azure');
var graphRbacManagementClient = require('azure-graph');
var tenantId='abcd-efgh-ijk-lmno-12345';
// Enter your tenant ID here which can be found from your Azure AD URL
// Eg. https://manage.windowsazure.com/example.com#Workspaces/ActiveDirectoryExtension/Directory/<TenantId>/users

msRestAzure.loginWithUsernamePassword('<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="760305130418171b133615191802190519151904065819181b1f150419051910025815191b" rel="noreferrer noopener nofollow">[email protected]</a>', 'your-password', { tokenAudience: 'graph', domain: tenantId }, function (err, credentials, subscriptions) {
if (err) console.log(err);
var client = new graphRbacManagementClient(credentials, tenantId);
var userParams = {
accountEnabled: true,
userPrincipalName: 'OfficialStark@<yourdomain.com>', //please add your domain over here
displayName: 'Jon Snow',
mailNickname: 'OfficialStark',
passwordProfile: {
password: 'WinterisComing!',
forceChangePasswordNextLogin: false
}
};
client.users.create(userParams, function (err, user, request, response) {
if (err) return console.log(err);
console.log(user);
var userObjectId = user.objectId;
client.users.list(function (err, result, request, response) {
if (err) return console.log(err);
console.log(result);
client.users.deleteMethod(userObjectId, function (err, result, request, response) {
if (err) return console.log(err);
console.log(result);
});
});
});
});

关于node.js - 如何从node.js服务器端非交互地使用azure AD身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55686069/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com