public async Task <ActionResult <object> > Login(LinUserLoginResource linUserLoginResource) { var user = await _linUserRepository.Verify(linUserLoginResource.Username, linUserLoginResource.Password); if (user == null) { throw new BadRequestException { ErrorCode = ResultCode.UserPasswordErrorCode }; } if (user.Active != (short)UserActive.Active) { throw new UnauthorizedException() { ErrorCode = ResultCode.UserInactiveErrorCode }; } var result = GetTokenResult(user.Id.ToString()); //记录日志 _linLogger.AddLog(user.Id, user.Username, $"{user.Username}登陆成功获取了令牌", "登陆"); return(Ok(result)); }
public async Task <IActionResult> LoginByForm([FromForm] LinUserLoginResource linUserLoginResource) { var user = await _linUserRepository.Verify(linUserLoginResource.Username, linUserLoginResource.Password); if (user == null) { throw new BadRequestException { ErrorCode = ResultCode.UserPasswordErrorCode }; } if (user.Active != (short)UserActive.Active) { throw new UnauthorizedException() { ErrorCode = ResultCode.UserInactiveErrorCode }; } var result = new { token = _tokenService.GenerateAccessToken(new[] { new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()), new Claim(ClaimTypes.Name, user.Username), new Claim(ClaimTypes.Role, ((UserAdmin)user.Admin).ToString()) }), refreshToken = _tokenService.GenerateRefreshToken(), }; return(Ok(result)); }