/// <summary> /// Recuperar la información de usuario del token /// </summary> /// <param name="token"></param> /// <returns></returns> public UsuarioInfo DecodeJwtToken(string token) { // EXTRAE LA INFORMACIÓN DEL TOKEN JWT. var handler = new JwtSecurityTokenHandler(); var _token = handler?.ReadJwtToken(token); // CREA EL PERFIL DE INFORMACIÓN DEL USUARIO // A PARTIR DE LOS CLAIMS DEL TOKEN JWT var _usuarioInfo = new UsuarioInfo() { Id = new Guid(_token?.Claims?. SingleOrDefault(x => x.Type == "nameid")?.Value ?? _token.Id), Email = _token?.Claims?. SingleOrDefault(x => x.Type == "email")?.Value, Rol = _token?.Claims?. SingleOrDefault(x => x.Type.Contains("role"))?.Value, ValidoDesde = _token.ValidFrom, ValidoHasta = _token.ValidTo }; return(_usuarioInfo); }
protected bool loadHandlerEmail(HttpRequest request) { string authorization = request.Headers["Authorization"]; string token = authorization.Substring("Bearer ".Length); _usuarioInfo = _jwtTokenService.DecodeJwtToken(token); Usuari usuari = _context.Usuaris.FirstOrDefault(x => x.Email == _usuarioInfo.Email); if (usuari == null) { return(false); } usuari.Pass = _encrypt.Desencriptar(usuari.Pass, _usuarioInfo.Id.ToString()); _handler.connectar(usuari.Email, usuari.Pass, usuari.Email); return(_handler.conectado()); }