我正在使用Typescript中的Azure Functions构建SPA。我通过我的B2C进行身份验证设置。我有两个应用程序注册-一个用于SPA,另一个用于Azure Functions。我正确配置了我的作用域,并在Azure中为我的Azure函数配置了身份验证提供程序。
一切都运转良好;但是,我目前正在尝试在本地运行Azure函数并访问经过身份验证的用户。我可以看到context.req.headers.authorization
是定义的;但context.req.user
未定义。在本地运行时,我是否缺少了什么?
const httpTrigger: AzureFunction = async function (context: Context): Promise<void> {
const id = context.req.headers['X-MS-CLIENT-PRINCIPAL-ID']; // undefined
const user = context.req.user; // undefined
...
}
{
"bindings": [
{
"authLevel": "Anonymous",
"type": "httpTrigger",
"direction": "in",
"name": "req",
"methods": [
"get",
"post"
]
},
{
"type": "http",
"direction": "out",
"name": "res"
}
],
"scriptFile": "../dist/config/index.js"
}
我希望定义context.req.user
,或者有其他方式访问经过验证的用户信息。
1条答案
按热度按时间bnlyeluc1#
X-MS-CLIENT-PRINCIPAL-ID头部由App Service基于token设置。更多信息:https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-user-identities#access-user-claims-in-app-code