public async Task <IActionResult> Login(AccountLoginReq request) { if (ModelState.IsValid) { var cookieOptions = new CookieOptions() { HttpOnly = true, SameSite = SameSiteMode.None, Secure = true }; var response = new AccountLoginRes(); var loginResult = await _accountService.Login(request, response); if (loginResult != null) { Response.Cookies.Append("X-Access-Token", loginResult.Token, cookieOptions); Response.Cookies.Append("X-Username", loginResult.UserName, cookieOptions); Response.Cookies.Append("X-Refresh-Token", loginResult.RefreshToken, cookieOptions); return(Ok(response)); } Response.Cookies.Delete("X-Access-Token", cookieOptions); Response.Cookies.Delete("X-Username", cookieOptions); Response.Cookies.Delete("X-Refresh-Token", cookieOptions); return(Unauthorized("Sai tên đăng nhập hoặc mật khẩu, xin mời kiểm tra lại thông tin")); } return(BadRequest(ModelState)); }
public void TryLogin(string username, string password) { AccountLoginReq req = new AccountLoginReq(); req.AccountName = username; req.Password = password; NetworkManager.Instance.Send(MessageID.MSG_ACCOUNT_LOGIN_REQ, req, 0, 0); }
private void OnReq_Login(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); AccountLoginReq req = Serializer.Deserialize <AccountLoginReq>(ms); AccountLoginAck ack = new AccountLoginAck(); NetworkManager.Instance.Send(MessageID.MSG_ACCOUNT_LOGIN_ACK, ack, 0, 0); }
//public async Task<string> CreateCookie(AccountLoginRes response) //{ //} public async Task <AccountLoginResult> Login(AccountLoginReq request, AccountLoginRes response) { var user = await _userManager.FindByNameAsync(request.Username); if (user != null) { var loginResult = await _signInManager.CheckPasswordSignInAsync(user, request.Password, false); if (loginResult.Succeeded) { response.FullName = $"{user.LastName} {user.FirstName}"; return(new AccountLoginResult() { UserName = user.UserName, Token = await _tokenService.CreateToken(user), RefreshToken = user.RefreshToken }); } } return(null); }