public async Task <IActionResult> Register(UserModel user) { if (userModelService.GetUserByName(user.Name) != null) { ModelState.AddModelError("name", "Пользователь с таким именем уже существует!"); } if (ModelState.IsValid) { string password = user.Password; await userModelService.CreateUser(user); var identity = GetIdentity(user.Name, password, out user); AddJWT(identity.Claims); return(Json(new SuccessResponse(user.Only("Id", "Name")))); } return(BadRequest(new ErrorResponse(modelStateSerializer.Serialize(ModelState)))); }
public Task Invoke(HttpContext httpContext) { string token = httpContext.Request.Cookies["token"]; if (token != null && token.StartsWith("Bearer ")) { try { ClaimsPrincipal claims = jWTHandler.Validate(token.Remove(0, 7)); UserModel user = userModelService.GetUserByName(claims.Claims.First().Value); httpContext.Items.Add("User", user); } catch (Exception e) { Console.WriteLine(e); } } return(_next(httpContext)); }