private ClaimsPrincipal GetClaimsPrincipalFor(MinimalUser user)
        {
            var claims = new[]
            {
                new Claim(ClaimTypes.Name, user.Username),
                new Claim(ClaimTypes.Role, "User"),
                new Claim(ClaimTypes.NameIdentifier, user.Username)
            };

            ClaimsIdentity identity = new ClaimsIdentity(claims, "bearer", ClaimTypes.Name, ClaimTypes.Role);

            return(new ClaimsPrincipal(identity));
        }
        public IActionResult Edit(MinimalUser user)
        {
            var dbUser = _context.Users.First(u => u.Id == user.Id);

            dbUser.Email    = user.Email;
            dbUser.UserName = user.UserName;
            try
            {
                _context.Update(dbUser);
                _context.SaveChanges();
            }
            catch
            {
                return(View("Error"));
            }
            return(RedirectToAction("Index"));
        }
 public string GenerateToken(MinimalUser user) =>
 GenerateToken(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(user)));