Skip to content
Snippets Groups Projects

Fix: Added new method that silently validates a JWT token

Merged Petar Hristov requested to merge Hotfix/1234-handlingMergeToken into master
1 file
+ 27
0
Compare changes
  • Side-by-side
  • Inline
@@ -3,6 +3,7 @@ using Microsoft.IdentityModel.Tokens;
using System;
using System.Collections.Generic;
using System.IdentityModel.Tokens.Jwt;
using System.IO;
using System.Linq;
using System.Security.Claims;
using System.Text;
@@ -60,6 +61,32 @@ namespace Coscine.JwtHandler
};
_jwtSecurityTokenHandler.ValidateToken(token, tokenValidationParameters, out _);
return true;
}
public bool TryValidateToken(string token)
{
var tokenValidationParameters = new TokenValidationParameters
{
ValidAudience = _audience,
ValidIssuer = _issuer,
ValidateIssuerSigningKey = true,
IssuerSigningKey = _symmetricSecurityKey,
ValidateIssuer = false,
ValidateAudience = false,
// set clockskew to zero so tokens expire exactly at token expiration time (instead of 5 minutes later)
ClockSkew = TimeSpan.Zero
};
try
{
_jwtSecurityTokenHandler.ValidateToken(token, tokenValidationParameters, out _);
}
catch (Exception _)
{
return false;
}
return true;
}
Loading