gpt4 book ai didi

azure - 将数据从 Azure Function Filter 传递到 Function

转载 作者:行者123 更新时间:2023-12-01 13:26:58 25 4
gpt4 key购买 nike

我已将不记名 token 验证委托(delegate)给Azure 函数调用筛选器。它验证 token 并获取声明。现在我尝试将这些声明或 ClaimsPrincipal 对象传递到函数中。

     public override Task OnExecutingAsync(
FunctionExecutingContext executingContext, CancellationToken cancellationToken)
{
var handler = new JwtSecurityTokenHandler();
handler.InboundClaimTypeMap.Clear();
principal = handler.ValidateToken(jwtToken,
new TokenValidationParameters
{
ValidateAudience = false,
ValidIssuer = issuer,
ValidateIssuerSigningKey = false,
SignatureValidator = (t, param) => new
JwtSecurityToken(t),
NameClaimType = "sub"

}, out var token);
}

我在 FunctionExecutingContext 中看到一个名为 Properties 的字典。但根据文档,它用于在过滤器之间传递数据。

因此 executingContext.Properties["claims"] =principal; 不会将数据传递给函数。

我们可以在 WebAPI 中使用 RouteData 来实现它,但不确定是否可以在 Azure Functions 中实现。非常感谢任何帮助。

最佳答案

您的选择有点有限 - 没有像 Request.Properties 这样的通用属性包。您可以将过滤器放在具有函数的类上,然后过滤器可以在执行时设置实例字段;并且您的函数可以读取这些字段。您可能需要设置一个 JobActivator 并确保每次调用都会获得一个新的类实例。

关于azure - 将数据从 Azure Function Filter 传递到 Function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46688329/

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