gpt4 book ai didi

node.js - 如何将用户从 azure Active Directory 转移到 azure function

转载 作者:行者123 更新时间:2023-12-03 04:59:55 27 4
gpt4 key购买 nike

我正在使用 Node js 使用 azure 函数开发一个无服务器应用程序。通过 Azure Active Directory 进行应用程序身份验证。我的场景是我想在执行 http 触发函数之一期间使用他的电子邮件或用户名来获取特定的用户数据(电子邮件、用户名等)。我已经检查了几个选项( adactivedirectory 库。这些库似乎没有更新,我想知道是否有任何方法可以使用 azure 的 Node Js SDK 来做到这一点?

我正在寻找没有 JWT 的解决方案。因为,当“函数”需要获取某些用户信息时,函数没有任何 token 。这里是函数应用程序请求的用户数据,而不是用户。因此,用户数据仅由函数应用程序使用,这些信息不会暴露给用户。

例如:当我们需要在某些运行 MySQL 的应用程序中获取用户数据时,我们可以通过“查询”用户表来获取用户数据。如果我们指定电子邮件,我们就可以查询。

我通过使用 azure 事件目录询问同样的事情。

最佳答案

您可以使用 client credential flow 获取访问 token (与特定用户无关)在您的函数中。

const APP_ID = '[COPIED_APP_ID]';
const APP_SECERET = '[COPIED_APP_SECRET]';
const TOKEN_ENDPOINT ='https://login.microsoftonline.com/[COPIED_TENANT_ID]/oauth2/v2.0/token';
const MS_GRAPH_SCOPE = 'https://graph.microsoft.com/.default';

const axios = require('axios');
const qs = require('qs');

const postData = {
client_id: APP_ID,
scope: MS_GRAPH_SCOPE,
client_secret: APP_SECERET,
grant_type: 'client_credentials'
};

axios.defaults.headers.post['Content-Type'] =
'application/x-www-form-urlencoded';

let token = '';

axios
.post(TOKEN_ENDPOINT, qs.stringify(postData))
.then(response => {
console.log(response.data);
})
.catch(error => {
console.log(error);
});

引用:

HOW TO — Get an Access Token for Microsoft Graph API using Node.JS

然后您可以使用此 token 调用 Microsoft Graph API。

enter image description here

关于node.js - 如何将用户从 azure Active Directory 转移到 azure function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60109090/

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