public async Task <ActionResult <AuthTokenView> > Login([FromBody] LoginInputView loginInputView, string method) { var user = await UserManager.FindByNameAsync(loginInputView.Username); if (user == null) { return(Unauthorized()); } if (!(await UserManager.CheckPasswordAsync(user, loginInputView.Password))) { return(Unauthorized()); } switch (method) { case "cookie": return(await LoginCookie(user)); case "token": return(LoginJwt(user)); default: return(BadRequest()); } }
public IActionResult Login(LoginInputView model) { if (!ModelState.IsValid) { return(BadRequest(ModelState.ToString())); } return(Ok()); }
public async Task <ActionResult <UserView> > Register([FromBody] LoginInputView loginInputView) { var user = new User { Email = "*****@*****.**", SecurityStamp = Guid.NewGuid().ToString(), UserName = loginInputView.Username }; var register = await UserManager.CreateAsync(user, loginInputView.Password); if (!register.Succeeded) { return(BadRequest()); } return(Ok(new UserView(user))); }
public async Task TestUser() { const string name = "user2"; const string pw = "User2!!!"; var userData = new LoginInputView { Username = name, Password = pw }; //Check login non existent user using (var loginResp = await _newUserClient.PostAsync("api/User/Login", JsonContent(userData))) { Assert.AreEqual(HttpStatusCode.Unauthorized, loginResp.StatusCode); } //Create new user var newUserData = await Post <LoginInputView, UserView>(_newUserClient, "api/User/Register", userData); Assert.AreEqual(newUserData.Name, name); //Try login await SetToken(_newUserClient, name, pw); //Try get current user var curUserData = await Get <UserView>(_newUserClient, "api/User/Current"); Assert.AreEqual(newUserData.Id, curUserData.Id); //Try get user by Id var getUserData = await Get <UserView>(_newUserClient, $"api/User/{newUserData.Id}"); Assert.AreEqual(newUserData.Id, getUserData.Id); }