From 75c65b4681a5f6e7c08ea4ad1e3dade8baf128a0 Mon Sep 17 00:00:00 2001 From: "DESKTOP-T0O5CDB\\DESK-555BD" Date: Sat, 29 Mar 2025 07:37:09 -0600 Subject: [PATCH] Add check for email claims. --- Controllers/LoginController.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Controllers/LoginController.cs b/Controllers/LoginController.cs index a102f5d..acd2f59 100644 --- a/Controllers/LoginController.cs +++ b/Controllers/LoginController.cs @@ -136,7 +136,15 @@ namespace CarCareTracker.Controllers //validate JWT token var tokenParser = new JwtSecurityTokenHandler(); var parsedToken = tokenParser.ReadJwtToken(userJwt); - var userEmailAddress = parsedToken.Claims.First(x => x.Type == "email").Value; + var userEmailAddress = string.Empty; + if (parsedToken.Claims.Any(x => x.Type == "email")) + { + userEmailAddress = parsedToken.Claims.First(x => x.Type == "email").Value; + } else + { + var returnedClaims = parsedToken.Claims.Select(x => x.Type); + _logger.LogError($"OpenID Provider did not provide an email claim, claims returned: {string.Join(",", returnedClaims)}"); + } if (!string.IsNullOrWhiteSpace(userEmailAddress)) { var userData = _loginLogic.ValidateOpenIDUser(new LoginModel() { EmailAddress = userEmailAddress });