Bearer Token Validation
をAzure Function Invocation Filter
に委譲しました。トークンを検証し、クレームを取得します。今私はこれらの主張またはClaimsPrincipal
オブジェクトを機能に渡そうとしています。Azure関数フィルタから関数にデータを渡す
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関数で実行できるかどうかはわかりません。どんな助けも高く評価されます。
ありがとうございました。私はAzure関数を使用しています。クラスは静的です。だから、私は関数が呼び出されるたびに新しいクラスのインスタンスを持つことはできないと思う。 – Venky