public async Task <IActionResult> Login([Bind("Login, Password")] UserModel user) { var tempUser = await _context.Users.Where(u => u.Login == user.Login).FirstOrDefaultAsync(); var results = await ErrorHandler(user, tempUser); if (!results.IsNullOrEmpty()) { ViewBag.Error = results; return(View("Index")); } var token = await JWTManager.AssignToken(tempUser); JwtSecurityTokenHandler tokenHandler = new JwtSecurityTokenHandler(); string tokenString = tokenHandler.WriteToken(token); JwtSecurityToken jwtToken = tokenHandler.ReadJwtToken(tokenString); HttpContext.Session.SetString("LOGIN", jwtToken.Audiences.ToArray()[0]); HttpContext.Session.SetString("NICKNAME", tempUser.Nickname); HttpContext.Session.SetString("TOKEN", tokenString); HttpContext.Session.SetString("ROLE", jwtToken.Claims.First(x => x.Type.ToString().Equals(ClaimTypes.Role)).Value); return(RedirectToAction("Index", "Home", new { pageIndex = 1 })); }