fix: disable JWT inbound claim mapping for Zitadel sub claim

.NET remaps "sub" to a long URI claim type by default, causing
User.FindFirst("sub") to return null. MapInboundClaims=false
preserves the original claim names.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-16 07:13:17 +00:00
parent 16a8bb1ae5
commit 2004883e02

View File

@@ -20,6 +20,7 @@ builder.Services.AddAuthentication("Bearer")
{
options.Authority = builder.Configuration["Zitadel:Issuer"] ?? "https://auth.kuns.dev";
options.Audience = builder.Configuration["Zitadel:ClientId"] ?? "";
options.MapInboundClaims = false; // Prevent .NET from remapping "sub" to long URI
options.TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters
{
ValidateIssuer = true,