public async Task <UserOutDTO> EmailLogin(string email, string password) { EmailLoginDTO requestObject = new EmailLoginDTO { email = email, password = password }; var stringPayload = JsonConvert.SerializeObject(requestObject); var httpContent = new StringContent(stringPayload, System.Text.Encoding.UTF8, jsonMediaType); var response = await httpClient.PostAsync("api/auth/email-login", httpContent); string responseContent = await response.Content.ReadAsStringAsync(); try { UserOutDTO objectResponse = JsonConvert.DeserializeObject <UserOutDTO>(responseContent); return(objectResponse); } catch (System.Exception) { return(null); } }
/// <summary> /// 邮箱登录获取token /// </summary> /// <param name="emailLoginDTO"></param> /// <returns></returns> public TResultModel <TokenDTO> Login(EmailLoginDTO emailLoginDTO) { var md5Password = Md5Helper.GenerateMD5(emailLoginDTO.Password); var member = _memberRepository.GetByEmail(emailLoginDTO.Email); if (member == null || md5Password != member.Password) { return(new TResultModel <TokenDTO>(-1, "用户名或密码错误")); } else { var jwtStr = JwtHelper.BuildJwtToken(new Claim[3] { new Claim(ClaimTypes.Role, "Admin"), new Claim("Name", member.NickName), new Claim("Id", member.Id.ToString()) }, _permissionRequirement); return(new TResultModel <TokenDTO>(1, "success") { TModel = new TokenDTO() { Token = jwtStr } }); } }
public async Task <IActionResult> EmailLogin([FromBody] EmailLoginDTO userIn) { UserOut result = await authRepo.EmailLogin(userIn.email, userIn.password); if (!result.success) { return(BadRequest(result)); } string token = JWTHelper.GenerateToken(result.email, result.username, secretKey, EXPIRE_TIME); Response.Cookies.Append(JWT_COOKIE_NAME, token, new Microsoft.AspNetCore.Http.CookieOptions { HttpOnly = true }); return(Ok(result)); }
public async Task <IActionResult> EmailLogin([FromBody] EmailLoginDTO userIn) { InternalUser result = await authRepo.EmailLogin(userIn.email, userIn.password); if (!result.success) { return(BadRequest(result)); } string token = JWTHelper.GenerateToken(result.email, result.username, SECRET_KEY, EXPIRE_TIME); return(Ok(new UserOutDTO { Username = result.username, Email = result.email, JwtToken = token, success = true })); }