protected Task <IPrincipal> AuthenticateJwtToken(string token, JwtIssuer jwtProvider) { if (this.ValidateToken(jwtProvider, token, out var claimsPrincipal)) { // based on username to get more information from database in order to build local identity var claims = claimsPrincipal.Claims; var identity = new ClaimsIdentity(claims, "Jwt"); IPrincipal user = new ClaimsPrincipal(identity); return(Task.FromResult(user)); } return(Task.FromResult <IPrincipal>(null)); }
private bool ValidateToken(JwtIssuer jwtIssuer, string token, out ClaimsPrincipal claimsPrincipal) { claimsPrincipal = jwtIssuer.GetPrincipal(token); var identity = claimsPrincipal?.Identity as ClaimsIdentity; if (identity == null) { return(false); } if (!identity.IsAuthenticated) { return(false); } return(true); }