public ClaimsPrincipal ValidateToken(string securityToken, TokenValidationParameters validationParameters, out SecurityToken validatedToken) { ClaimsPrincipal claimsPrincipal; Respuesta <Dato> respuesta; respuesta = _genService.ValorParametro("CLAVE_VALIDACION_ACCESS_TOKEN"); if (!respuesta.Codigo.Equals(RiskConstants.CODIGO_OK)) { throw new SecurityTokenValidationException(respuesta.Mensaje); } var signingKey = Encoding.ASCII.GetBytes(respuesta.Datos.Contenido); validationParameters.IssuerSigningKey = new SymmetricSecurityKey(signingKey); try { claimsPrincipal = _tokenHandler.ValidateToken(securityToken, validationParameters, out validatedToken); } catch (SecurityTokenExpiredException) { respuesta = _autService.CambiarEstadoSesion(securityToken, EstadoSesion.Expirado); throw; } catch (SecurityTokenValidationException) { respuesta = _autService.CambiarEstadoSesion(securityToken, EstadoSesion.Invalido); throw; } respuesta = _autService.ValidarSesion(securityToken); if (!respuesta.Codigo.Equals(RiskConstants.CODIGO_OK)) { throw new SecurityTokenValidationException(respuesta.Mensaje); } return(claimsPrincipal); }
public IActionResult ValidarSesion([FromQuery, SwaggerParameter(Description = "Access Token de la sesión", Required = true)] string accessToken) { var respuesta = _autService.ValidarSesion(accessToken); return(ProcesarRespuesta(respuesta)); }