public async Task <IActionResult> Index(LoginRequest request) { if (!ModelState.IsValid) { return(View(ModelState)); } var token = (ObjectResult)_authController.Authenticate(request).Result; ApiResult <string> result = (ApiResult <string>)token.Value; if (result.ResultObj is null) { ModelState.AddModelError(string.Empty, result.Message); request.ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList(); return(View(request)); } _httpContextAccessor.HttpContext.Session.SetString(SystemConstants.AppSettings.Token, result.ResultObj); var decodeToken = DecodeToken.Decode(_httpContextAccessor.HttpContext.Session.GetString("Token")); var userId = decodeToken.Claims.First(claim => claim.Type == ClaimTypes.NameIdentifier).Value; var user = _usersController.GetCurrentUser(int.Parse(userId)).Result; _httpContextAccessor.HttpContext.Session.SetComplexData("User", user); return(RedirectToAction("Index", "Listing")); }
public Session GetSession() { var getToken = HttpContext.Session.GetString("Token"); Session session = new Session(); session.token = getToken; session.idUsuario = DecodeToken.getId(getToken); session.eGestor = DecodeToken.getEGestor(getToken); session.nomeUsuario = DecodeToken.getNome(getToken); return(session); }