I'm trying to verify JWT token manually but I cloudn't do. Here is my code
public async Task<IActionResult> GoogleJWT(string jwt, string returnUrl = null)
{
returnUrl = returnUrl ?? Url.Content("~/");
if (string.IsNullOrEmpty(jwt))
{
return RedirectToAction("SignUpEmail");
}
var parameters = new TokenValidationParameters
{
ValidIssuer = "accounts.google.com",
ValidAudience = "XXXXXXXXXX.apps.googleusercontent.com",
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("secret")),
ValidateIssuerSigningKey = true
};
var handler = new JwtSecurityTokenHandler();
handler.InboundClaimTypeMap.Clear();
var user = handler.ValidateToken(jwt, parameters, out var _);
return View();
}
It shows this error:
An unhandled exception occurred while processing the request.
SecurityTokenSignatureKeyNotFoundException: IDX10501: Signature validation failed. Unable to match keys:
I'm not sure Issuer or Audience is right?