通过 Node.js 上的 Azure 函数获取当前经过身份验证的用户名

Ozi*_*arb 4 azure-active-directory azure-functions

检索 O365/AzureAD 用户详细信息(例如在节点上使用 Azure 函数的用户名)的最佳方法是什么?

仅允许在线身份验证的用户使用Azure Function

我看到的所有示例都与 C# 上的 Azure Functions 相关。

Ton*_* Ju 6

如果使用 Azure AD 和 node.js,最简单的方法是查看 X-MS-CLIENT-PRINCIPAL-NAME HTTP 请求标头。这是我的测试代码供您参考。

module.exports = async function (context, req) {
    context.log('JavaScript HTTP trigger function processed a request.');

    if (req.query.name || (req.body && req.body.name)) {
        context.res = {
            // status: 200, /* Defaults to 200 */
            body: "Hello " + (req.query.name || req.body.name)+". CurrentUser:"+req.headers['x-ms-client-principal-name']
        };
    }
    else {
        context.res = {
            status: 400,
            body: "Please pass a name on the query string or in the request body"
        };
    }
};
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

参考:

Azure 应用服务中身份验证和授权的高级用法