DeutschLernen/GermanApp/Infrastructure/Services
Lasse Rune Hansen ef72cbea18 fix(backend/auth): Fix JWT token claim mapping for user ID
- Changed AuthService.GenerateJwtToken to use JWT standard claims:
  - JwtRegisteredClaimNames.Sub for user ID (instead of ClaimTypes.NameIdentifier)
  - JwtRegisteredClaimNames.Name for username
  - JwtRegisteredClaimNames.Email for email
  - JwtRegisteredClaimNames.UniqueName for additional username claim
  - Kept ClaimTypes.Role for role

- Updated AuthController.GetCurrentUser to use JwtRegisteredClaimNames.Sub
- Updated AdminController.DeleteUserAsync to use JwtRegisteredClaimNames.Sub

This fixes the 401 error when calling /me after login. The issue was that
tokens were being generated with ClaimTypes.NameIdentifier claim, but the
JWT middleware doesn't automatically map this to a claim that can be found
with User.FindFirst(). Using standard JWT claims (sub, name, email) ensures
proper compatibility with ASP.NET Core's JWT authentication.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-14 17:38:27 +02:00
..
AiServicesHealthCheck.cs feat(backend/ai-services): Complete Phase 1 - Configuration & Interfaces 2026-06-13 10:22:54 +02:00
AuthService.cs fix(backend/auth): Fix JWT token claim mapping for user ID 2026-06-14 17:38:27 +02:00
MistralCircuitBreaker.cs feat(backend/infrastructure): implement Mistral API Connector (Phase 0 of AI Services) 2026-06-09 18:56:37 +02:00
MistralConnector.cs fix(backend/config): Skip AI service validation when configs are not set 2026-06-14 07:54:23 +02:00
MistralRateLimiter.cs feat(backend/infrastructure): implement Mistral API Connector (Phase 0 of AI Services) 2026-06-09 18:56:37 +02:00
TtsService.cs fix(backend/config): Skip AI service validation when configs are not set 2026-06-14 07:54:23 +02:00
VoskService.cs fix(backend/config): Skip AI service validation when configs are not set 2026-06-14 07:54:23 +02:00