/// <summary> /// 获取Token /// </summary> /// <returns></returns> public static async Task <ApiTokenResult> GetAccessToken(string token, int getnewtoken = 0) { ApiTokenResult accessTokenResult = null; var url = JobConfig.AppSettings["ApiTokenUrl"]; var handler = new HttpClientHandler() { AutomaticDecompression = System.Net.DecompressionMethods.None }; using (HttpClient httpclient = new HttpClient(handler)) { httpclient.BaseAddress = new Uri(url); var content = new FormUrlEncodedContent(new Dictionary <string, string>() { { "token", token }, { "getnewtoken", getnewtoken.ToString() } }); var response = await httpclient.PostAsync(url, content); string responseString = await response.Content.ReadAsStringAsync(); var result = JsonConvert.DeserializeObject <AbpResultModel>(responseString); accessTokenResult = result.result; } return(accessTokenResult); }
public async Task <ApiTokenResult> MobileLogin(MobileValidationCodeLoginInput input) { var returnResult = new ApiTokenResult(); var verifyMobileValidationCodeInput = new VerifyMobileValidationCodeInput { Mobile = input.Mobile, Type = MobileValidationCodeType.Login, // 登录 ValidationCode = input.ValidationCode, }; if (!await _mobileUserService.VerifyMobileValidationCodeAsync(verifyMobileValidationCodeInput, ModelState)) { returnResult.Code = 400; returnResult.Message = ModelState.FirstErrorMessage(); return(returnResult); } var userInfo = await _mobileUserService.GetOrGenerateItemByMobileAsync(_authenticationSettings.RegisterDefaultGroupId, _authenticationSettings.RegisterDefaultStatus, input.Mobile, true, ModelState); if (userInfo == null) { returnResult.Code = 400; returnResult.Message = ModelState.FirstErrorMessage(); return(returnResult); } if (userInfo.Status != UserStatus.Normal) { returnResult.Code = 201; returnResult.Message = "注册成功,请等待审核。"; return(returnResult); } var token = _tokenService.GenerateAccessToken(userInfo); var refreshToken = await _tokenService.GenerateRefreshToken(userInfo.UserId); returnResult.Token = token; returnResult.RefreshToken = refreshToken; returnResult.Code = 200; returnResult.Message = "登录成功"; return(returnResult); }
public async Task <ApiResult> MobilePasswordLogin(MobilePasswordLoginInput input) { var returnResult = new ApiTokenResult(); var userInfo = await _userService.GetNormalUserAsync(input.Mobile, input.Password); if (userInfo == null) { returnResult.Code = 400; returnResult.Message = "手机号或密码错误,请重试。"; return(returnResult); } var jwt = GetJwt(userInfo); returnResult.Token = jwt; returnResult.Code = 200; returnResult.Message = "登录成功"; return(returnResult); }
public async Task <ApiResult> MobilePassswordRegister(MobilePassswordValidationCodeRegisterInput input) { var returnResult = new ApiTokenResult(); var verifyMobileValidationCodeInput = new VerifyMobileValidationCodeInput { Mobile = input.Mobile, Type = MobileValidationCodeType.Register, // 注册 ValidationCode = input.ValidationCode, }; if (!await _mobileUserService.VerifyMobileValidationCodeAsync(verifyMobileValidationCodeInput, ModelState)) { returnResult.Code = 400; returnResult.Message = ModelState.FirstErrorMessage(); return(returnResult); } await _mobileUserService.FinishVerifyMobileValidationCodeAsync(verifyMobileValidationCodeInput.Mobile, verifyMobileValidationCodeInput.Type, ModelState); var userInfo = await _mobileUserService.GenerateItemAsync(_authenticationSettings.RegisterDefaultGroupId, _authenticationSettings.RegisterDefaultStatus, input, ModelState); if (userInfo == null) { returnResult.Code = 400; returnResult.Message = ModelState.FirstErrorMessage(); return(returnResult); } if (userInfo.Status != UserStatus.Normal) { returnResult.Code = 201; returnResult.Message = "注册成功,请等待审核。"; return(returnResult); } var jwt = GetJwt(userInfo); returnResult.Token = jwt; returnResult.Code = 200; returnResult.Message = "注册成功"; return(returnResult); }
public async Task <ApiTokenResult> Login(AccountPasswordLoginInput input) { var result = new ApiTokenResult(); var userInfo = await _userService.GetNormalUserAsync(input.Account, input.Password); if (userInfo == null) { result.Code = 400; result.Message = "账号或密码错误,或用户状态不允许登录"; return(result); } var token = _tokenService.GenerateAccessToken(userInfo); var refreshToken = await _tokenService.GenerateRefreshToken(userInfo.UserId); result.Token = token; result.RefreshToken = refreshToken; result.Code = 200; result.Message = "登录成功"; return(result); }
public async Task <ActionResult <ApiTokenResult> > Login([FromBody] AccountPasswordValidationCodeLoginInput input) { var result = new ApiTokenResult(); var validationCode = HttpContext.Session.GetString(ValidationCodeKey); if (validationCode == null) { result.Code = 400; result.Message = "验证码已到期,请重新输入"; return(result); } if (String.Compare(validationCode, input.ValidationCode, StringComparison.OrdinalIgnoreCase) != 0) { result.Code = 400; result.Message = "请输入正确的验证码"; return(result); } HttpContext.Session.Remove(ValidationCodeKey); var user = await _userService.GetNormalUserAsync(input.Account, input.Password); if (user == null) { result.Code = 400; result.Message = "账号或密码错误,或用户状态不允许登录"; return(result); } var jwt = GetJwt(user); result.Token = jwt; result.Url = _frontendSettings.CoreEnvironment.IsDevelopment ? _frontendSettings.CoreEnvironment.DevelopmentHost + "/modules/index.html" : Url.Action("Index", "View"); result.Code = 200; result.Message = "登录成功"; return(result); }
public async Task <ApiTokenResult> WeixinWebLogin(WeixinWebLoginInput input) { var returnResult = new ApiTokenResult(); var openId = await _weixinUserService.GetWeixinWebOpenIdAsync(input.Code); if (openId == null) { returnResult.Code = 400; returnResult.Message = "异常:获取微信 OpenId 失败"; return(returnResult); } var userInfo = await _weixinUserService.GetOrGenerateItemByWeixinWebOpenIdAsync(_authenticationSettings.RegisterDefaultGroupId, _authenticationSettings.RegisterDefaultStatus, openId); if (userInfo == null) { returnResult.Code = 400; returnResult.Message = "异常:微信小程序登录失败"; return(returnResult); } if (userInfo.Status != UserStatus.Normal) { returnResult.Code = 201; returnResult.Message = "注册成功,请等待审核。"; return(returnResult); } var token = _tokenService.GenerateAccessToken(userInfo); var refreshToken = await _tokenService.GenerateRefreshToken(userInfo.UserId); returnResult.Token = token; returnResult.RefreshToken = refreshToken; returnResult.Code = 200; returnResult.Message = "登录成功"; return(returnResult); }
public async Task <ApiResult> BindWeixinMobileEnd(WeixinMobileEndLoginInput input) { var returnResult = new ApiTokenResult(); var openId = await _weixinUserService.GetWeixinAppOpenIdAsync(input.Code); if (openId == null) { returnResult.Code = 400; returnResult.Message = "异常:获取微信 OpenId 失败"; return(returnResult); } var bindResult = await _weixinUserService.UpdateWeixinMobileEndOpenIdAsync(HttpContext.User.GetUserId(), openId, ModelState); if (!bindResult) { returnResult.Code = 400; returnResult.Message = ModelState.FirstErrorMessage(); return(returnResult); } returnResult.Code = 200; returnResult.Message = "绑定成功"; return(returnResult); }