public async Task <AuthenticateResultModel> AuthenticateLogin([FromBody] AuthenticateInput input) { var openId = string.Empty; #if DEBUG openId = "testopenid"; #else Console.WriteLine(WxOpenAppId); var jsonResult = await SnsApi.JsCode2JsonAsync(WxOpenAppId, WxOpenAppSecret, input.Code); if (jsonResult.errcode == ReturnCode.请求成功) { openId = jsonResult.openid; } #endif Console.WriteLine(openId); var dto = await _userAppService.Authorize(openId, input.HeadId); IdentityUser login = new IdentityUser { RememberMe = true, UserId = dto.Id.ToString(), Name = dto.NickName, }; var accessToken = CreateAccessToken(CreateJwtClaims(login.CreateIdentity(JwtBearerDefaults.AuthenticationScheme))); return(new AuthenticateResultModel { AccessToken = accessToken, ExpireInSeconds = (int)TimeSpan.FromDays(30).TotalSeconds, UserId = dto.Id.ToString() }); }
public AuthenticateOutput Authenticate(AuthenticateInput input) { if (string.IsNullOrWhiteSpace(input.UsernameOrPhone) || string.IsNullOrWhiteSpace(input.Password)) { return(null); } var result = _userRepository .GetAll() .Where(x => (x.Username == input.UsernameOrPhone || x.Phone == input.UsernameOrPhone) && x.Password == input.Password) .FirstOrDefault(); if (result != null) { if (result.Locked) { return(null); } var claims = new List <Claim> { new Claim(AbpClaimTypes.UserId, result.Id.ToString()), new Claim(ClaimTypes.Name, result.Username), new Claim(ClaimTypes.NameIdentifier, result.Username) }; var claimsIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme); //await HttpContext.SignInAsync( // CookieAuthenticationDefaults.AuthenticationScheme, // new ClaimsPrincipal(claimsIdentity), // new AuthenticationProperties()); var accessToken = CreateAccessToken(CreateJwtClaims(claimsIdentity)); return(new AuthenticateOutput { AccessToken = accessToken, ExpireInSeconds = (int)_configuration.Expiration.TotalSeconds, UserId = result.Id, Phone = result.Phone, Realname = result.Realname, Username = result.Username, //Role = (int)result.Role, RegionCode = result.RegionCode, //Department = result.Department, RegionIndex = result.RegionIndex, RegionName = result.RegionName }); } return(null); }
public async Task <AuthenticateOutput> Authenticate([FromBody] AuthenticateInput input) { var expires = input.RememberMe ? DateTime.UtcNow.AddDays(30) : DateTime.UtcNow.AddMinutes(30); var user = await _userService.Authenticate(input.UserName, input.Password); if (user == null) { throw new Exception("Unauthorised"); } return(new AuthenticateOutput() { Token = GetAuthToken(user, expires) }); }
public async Task <IActionResult> Authenticate(AuthenticateInput input) { var user = await _userService.GetUser(input.UserName, input.HashedPassword); if (user == null) { return(Unauthorized()); } var expiration = DateTime.Now.AddHours(1); var token = _jwtManager.GenerateJwtToken(user.UserName, expiration); return(Ok(new AuthenticateResponse() { Token = token, Expiration = expiration })); }
public async Task <string> Authenticate(AuthenticateInput input) { //var user = await _userRepository.FirstOrDefaultAsync(u => u.Email == input.Email && u.Password == input.Password); //if (user == null) // throw new KnownException(); var claims = new[] { new Claim(JwtRegisteredClaimNames.Nbf, $"{new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds()}"), new Claim(JwtRegisteredClaimNames.Exp, $"{new DateTimeOffset(DateTime.Now.AddMinutes(30)).ToUnixTimeSeconds()}"), }; var claimsIdentity = new[] { new ClaimsIdentity(claims) }; var properties = new AuthenticationProperties(); properties.Parameters.Add(AudiencePropertyKey, "Sso"); properties.ExpiresUtc = DateTime.Now.AddHours(2); return(await CreateAccessToken(new AuthenticationTicket(new ClaimsPrincipal(claimsIdentity), properties, ""))); }
public async Task <AuthenticateResult> Authenticate(AuthenticateInput input, CancellationToken ct) { using (DataFilter.Disable <IMultiTenant>()) { var identityUser = await UserManager.FindByEmailAsync(input.UsernameOrEmail) ?? await UserManager.FindByNameAsync(input.UsernameOrEmail); if (!await UserManager.CheckPasswordAsync(identityUser, input.Password)) { throw new BusinessException(ScoringDomainErrorCodes.AuthenticateFailed); } if (identityUser == null) { throw new BusinessException(ScoringDomainErrorCodes.AuthenticateFailed); } var accessToken = await AuthJwtProvider.GenerateJwt(identityUser, ct); return(new AuthenticateResult(accessToken, AuthJwtProvider.JwtSettings.ExpirationDays.TotalSeconds)); } }
public async Task <JsonResponse <AuthenticateOutput> > Authenticate([FromBody] AuthenticateInput input) { if (input.UserNameOrEmailAddress == "admin" && input.Password == "admin") { var identity = await _facadeLoginManager.CreateClaimsIdentity("10000", "admin", "1"); var accessToken = CreateAccessToken(CreateJwtClaims(identity)); return(new JsonResponse <AuthenticateOutput> { Data = new AuthenticateOutput { AccessToken = accessToken, EncryptedAccessToken = GetEncrpyedAccessToken(accessToken), ExpireInSeconds = (int)_configuration.Expiration.TotalSeconds } }); } else { return(new JsonResponse <AuthenticateOutput>(false, "登入失败")); } }