Stack Overflow en español es un sitio de preguntas y respuestas para programadores y profesionales de la informática. Solo te toma un minuto registrarte.

Regístrate para unirte a esta comunidad

¡Hola! Estoy realizando Este tutorial para crear un token de seguridad en un API .

El problema que estoy teniendo, es al momento de llamar a la clase System.Web.HttpContext , ya que directamente me dice que HttpContext no existe en mi contexto actual.

Sé que esta clase proviene de system.Web , y que hay unos nugets que me dan esa clase, pero la propiedad en específico que quiero utilizar de ahí es HttpContext.Current , que no está en los nugets Microsoft.AspNet.WebApi ni en Microsoft.AspNet.WebApi.Core .

Este es el código con el que estoy trabajando:

var tokenHandler = new System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler();
                TokenValidationParameters validationParameters = new()
                    ValidAudience = audienceToken,
                    ValidIssuer = issuerToken,
                    ValidateLifetime = true,
                    ValidateIssuerSigningKey = true,
                    LifetimeValidator = this.LifetimeValidator,
                    IssuerSigningKey = securityKey
                // Extract and assign Current Principal and user
                Thread.CurrentPrincipal = tokenHandler.ValidateToken(token, validationParameters, out SecurityToken securityToken);
                HttpContext.Current.User = tokenHandler.ValidateToken(token, validationParameters, out securityToken); //no reconocido

¿Alguien tiene una idea de qué puede estar pasando?

Según la documentación, HttpContext.Current no está disponible en .Net 5.

En tu caso puede que estés haciendo referencia a otro HttpContext, prueba de utilizar System.Web.HttpContext.Current.

Aquí podrás encontrar un poco más de información que te será útil.

como dato informativo, me funcionó pasando a mi método el HttpContext, y accedí a lo que quería usando un HttpContext.User – L. Ronquillo el 20 may. 2021 a las 14:39

¡Gracias por contribuir en StackOverflow en español con una respuesta!

  • Por favor, asegúrate de responder a la pregunta. ¡Proporciona información y comparte tu investigación!

Pero evita

  • Pedir ayuda o aclaraciones, o responder a otras respuestas.
  • Hacer declaraciones basadas en opiniones; asegúrate de respaldarlas con referencias o con tu propia experiencia personal.

Para obtener más información, consulta nuestros consejos sobre cómo escribir grandes respuestas.