public async Task <IActionResult> RefreshAccessTokenAsync([FromBody] SecretDto dto) { var userProfile = _jwtApp.GetExistenceToken(dto.Token); var user = new UserDto { UserName = userProfile.Name, Id = userProfile.UserId, RoleName = userProfile.RoleNames }; var jwt = await _jwtApp.RefreshAsync(dto.Token, user); var data = new JwtResponseDto { Access = jwt.Token, Type = "Bearer", Profile = new Profile { RoleNames = user.RoleName, UserId = user.Id, UserName = user.UserName, Auths = jwt.Success ? jwt.AuthTime : 0, Expires = jwt.Success ? jwt.ExpTime : 0 } }; return(new JsonResult( new { code = 20000, data })); }
public IActionResult LoginAsync([FromBody] SecretDto dto) { //获取用户信息 var user = _secretApp.GetCurrentUserAsync(dto.Account, dto.Password); if (user == null) { return(Ok(new JwtResponseDto { Access = "无权访问", Type = "Bearer", Profile = new Profile { Name = dto.Account, Auths = 0, Expires = 0 } })); } var jwt = _jwtApp.Create(user); return(Ok(new JwtResponseDto { Access = jwt.Token, Type = "Bearer", Profile = new Profile { Name = user.UserName, Auths = jwt.Auths, Expires = jwt.Expires } })); }
public async Task <IActionResult> RefreshAccessTokenAsync([FromBody] SecretDto dto) { //Todo:获取用户信息 var user = _secretApp.GetCurrentUserAsync(dto.Account, dto.Password); if (user == null) { return(Ok(new JwtResponseDto { Access = "无权访问", Type = "Bearer", Profile = new Profile { Name = dto.Account, Auths = 0, Expires = 0 } })); } var jwt = await _jwtApp.RefreshAsync(dto.Token, user); return(Ok(new JwtResponseDto { Access = jwt.Token, Type = "Bearer", Profile = new Profile { Name = user.UserName, Auths = jwt.Success ? jwt.Auths : 0, Expires = jwt.Success ? jwt.Expires : 0 } })); }
public async Task <IActionResult> LoginAsync(SecretDto dto) { var user = await _userApp.QueryFirst(p => p.Name == dto.UserName& p.Password == dto.Password); if (user == null) { return(Ok(new JwtResponseDto { Access = "用户不存在,无权访问", Type = "Bearer", err_code = 1, Data = new Profile { Name = dto.UserName, Auths = 0, Expires = 0 } })); } var jwt = _jwtApp.Create(user); return(Ok(new JwtResponseDto { Access = jwt.Token, Type = "Bearer", err_code = 0, Data = new Profile { Name = user.Name, Auths = jwt.Auths, Expires = jwt.Expires } })); }
public SecretDto Add(SecretDto secret) { var cmd = new Infrastructure.Repository.SecretRepository(_options); var newSecret = cmd.Add(secret); return(newSecret); }
public JsonResult LoginAsync([FromBody] SecretDto dto) { //Todo:获取用户信息 //var user = new UserDto //{ // Id = Guid.NewGuid(), // UserName = "******", // Role = Guid.Empty, // Email = "*****@*****.**", // Phone = "13912345678", //}; var user = _loginApp.GetUserInfo(dto.UserName, dto.Password); if (user == null) { var datanull = new JwtResponseDto { Access = "无权访问", Type = "Bearer", Profile = new Profile { UserName = dto.UserName, Auths = 0, Expires = 0 } }; return(new JsonResult ( new { code = 20000, data = datanull } )); } var jwt = _jwtApp.Create(user); var data = new JwtResponseDto { Access = jwt.Token, Type = "Bearer", Profile = new Profile { RoleNames = user.RoleName, UserId = user.Id, UserName = user.UserName, Auths = jwt.AuthTime, Expires = jwt.ExpTime } }; return(new JsonResult (new { code = 20000, data })); }
public async Task <IActionResult> Post([FromBody] SecretDto secret) { _loggerAdapter.LogInformation("secret method call started"); var secretCommand = _mapper.Map <CreateSecretCommand>(secret); var result = await _mediator.Send(secretCommand); _loggerAdapter.LogInformation("secret method call ended"); return(new OkObjectResult(result)); }
public IActionResult RefreshAccessToken(SecretDto dto) { //Todo:获取用户信息 var user = _homeBus.JwtSubmitLogin(dto.username, dto.password); if (user == null) { return(Ok( new AjaxResult { Success = false, Msg = "用户名或密码错误!", Data = new JwtResponseDto { Access = "用户名或密码错误!", Type = "Bearer", Profile = new Profile { UserName = dto.username, Auths = 0, Expires = 0 } }, ErrorCode = 0 })); } var jwt = _jwtApp.RefreshAsync(dto.Token, user); return(Ok( new AjaxResult { Success = true, Msg = "Token刷新成功!", Data = new JwtResponseDto { Access = jwt.Token, Type = "Bearer", Profile = new Profile { UserId = user.UserId, UserName = user.UserName, RealName = user.RealName, Auths = jwt.Success ? jwt.Auths : 0, Expires = jwt.Success ? jwt.Expires : 0 } }, ErrorCode = 0 })); }
public IActionResult SignIn([FromBody] SecretDto dto) { //Todo:判断当前获取用户是否存在,不存在直接返回 401 var user = new { Id = Guid.NewGuid(), Name = "yuiter", Role = Guid.NewGuid(), Email = "*****@*****.**", Phone = "13912345678", }; JwtSecurityTokenHandler tokenHandler = new JwtSecurityTokenHandler(); SymmetricSecurityKey key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["Jwt:SecurityKey"])); DateTime authTime = DateTime.UtcNow; DateTime expiresAt = authTime.AddSeconds(50); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, user.Name), new Claim(ClaimTypes.Role, user.Role.ToString()), new Claim(ClaimTypes.Email, user.Email), new Claim(ClaimTypes.MobilePhone, user.Phone) }), //创建声明信息 Issuer = "yuiter.com", //Jwt token 的签发者 Audience = "yuiter.com", //Jwt token 的接收者 Expires = expiresAt, //过期时间 SigningCredentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256) //创建 token }; var token = tokenHandler.CreateToken(tokenDescriptor); return(Ok(new { access_token = tokenHandler.WriteToken(token), token_type = "Bearer", profile = new { name = user.Name, role = user.Role, auth_time = new DateTimeOffset(authTime).ToUnixTimeSeconds(), expires_at = new DateTimeOffset(expiresAt).ToUnixTimeSeconds() } })); }
public async Task <IActionResult> RefreshAccessTokenAsync([FromBody] SecretDto dto) { var auth = HttpContext.AuthenticateAsync().Result.Principal.Claims; //Todo:获取用户信息 //var user = new UserDto //{ // Id = Guid.NewGuid(), // UserName = "******", // Role = Guid.Empty, // Email = "*****@*****.**", // Phone = "13912345678", //}; var user = await _secretApp.GetCurrentUserAsync(dto.UserName, dto.Password); if (user == null) { return(Ok(new JwtResponseDto { Access = "无权访问", Type = "Bearer", err_code = 1, Data = new Profile { Name = dto.UserName, Auths = 0, Expires = 0 } })); } var jwt = await _jwtApp.RefreshAsync(dto.Token, user); return(Ok(new JwtResponseDto { Access = jwt.Token, err_code = 0, Type = "Bearer", Data = new Profile { Name = user.UserName, Auths = jwt.Success ? jwt.Auths : 0, Expires = jwt.Success ? jwt.Expires : 0 } })); }
public async Task <ResultResponseDto> AddSecret(SecretDto dto) { if (!dto.IsValid()) { return(Result.ReFailure <ResultResponseDto>("请求参数错误", ResultCodes.InvalidParameter)); } if (base.State == null) { return(Result.ReFailure <ResultResponseDto>("API资源不存在", ResultCodes.NotFound)); } Secret secret = new Secret(dto.Value, dto.Type, dto.Description, dto.Expiration); this.State.Secrets.Add(secret); await base.WriteStateAsync(); return(Result.ReSuccess <ResultResponseDto>()); }
public async Task <IActionResult> LoginAsync(SecretDto dto) { //Todo:获取用户信息 //var user = new UserDto //{ // Id = Guid.NewGuid(), // UserName = "******", // Role = Guid.Empty, // Email = "*****@*****.**", // Phone = "13912345678", //}; var user = await _secretApp.GetCurrentUserAsync(dto.UserName, dto.Password); if (user == null) { return(Ok(new JwtResponseDto { Access = "用户不存在,无权访问", Type = "Bearer", err_code = 1, Data = new Profile { Name = dto.UserName, Auths = 0, Expires = 0 } })); } var jwt = _jwtApp.Create(user); return(Ok(new JwtResponseDto { Access = jwt.Token, Type = "Bearer", err_code = 0, Data = new Profile { Name = user.UserName, Auths = jwt.Auths, Expires = jwt.Expires } })); }
public async Task <IActionResult> RefreshAccessTokenAsync([FromBody] SecretDto dto) { //Todo:获取用户信息 var user = new UserDto { Id = Guid.NewGuid(), UserName = "******", Role = Guid.Empty, Email = "*****@*****.**", Phone = "13912345678", }; if (user == null) { return(Ok(new JwtResponseDto { Access = "无权访问", Type = "Bearer", Profile = new Profile { Name = dto.Account, Auths = 0, Expires = 0 } })); } var jwt = await _jwtApp.RefreshAsync(dto.Token, user); return(Ok(new JwtResponseDto { Access = jwt.Token, Type = "Bearer", Profile = new Profile { Name = user.UserName, Auths = jwt.Success ? jwt.Auths : 0, Expires = jwt.Success ? jwt.Expires : 0 } })); }
public IActionResult Login([FromBody] SecretDto dto) { //Todo:获取用户信息 var user = new UserDto { Id = Guid.NewGuid(), UserName = "******", Role = Guid.Empty, Email = "*****@*****.**", Phone = "13912345678", }; if (user == null) { return(Ok(new JwtResponseDto { Access = "无权访问", Type = "Bearer", Profile = new Profile { Name = dto.Account, Auths = 0, Expires = 0 } })); } var jwt = _jwtApp.Create(user); return(Ok(new JwtResponseDto { Access = jwt.Token, Type = "Bearer", Profile = new Profile { Name = user.UserName, Auths = jwt.Auths, Expires = jwt.Expires } })); }
public async Task <IActionResult> RefreshAccessTokenAsync([FromBody] SecretDto dto) { var auth = HttpContext.AuthenticateAsync().Result.Principal.Claims; var user = await _userApp.QueryFirst(p => p.Name == dto.UserName& p.Password == dto.Password); if (user == null) { return(Ok(new JwtResponseDto { Access = "无权访问", Type = "Bearer", err_code = 1, Data = new Profile { Name = dto.UserName, Auths = 0, Expires = 0 } })); } var jwt = await _jwtApp.RefreshAsync(dto.Token, user); return(Ok(new JwtResponseDto { Access = jwt.Token, err_code = 0, Type = "Bearer", Data = new Profile { Name = user.Name, Auths = jwt.Success ? jwt.Auths : 0, Expires = jwt.Success ? jwt.Expires : 0 } })); }
public IActionResult LoginSubmit(SecretDto dto) { //Todo:获取用户信息 var user = _homeBus.JwtSubmitLogin(dto.username, dto.password); if (user == null) { return(Ok( new AjaxResult { Success = false, Msg = "用户名或密码错误!", Data = new JwtResponseDto { Access = "用户名或密码错误!", Type = "Bearer", Profile = new Profile { UserName = dto.username, Auths = 0, Expires = 0 } }, ErrorCode = 0 })); } var jwt = _jwtApp.Create(user); #region 登录系统的操作记录单写,主要是登录系统时,Token还没有传递 //获取Ip地址的临时写法,这个写法不准确,没考虑代理 string ipAddress = HttpContextCore.Current.Connection.RemoteIpAddress.ToString(); Base_SysUserOperationLog sysUserOperationLog = new Base_SysUserOperationLog { Id = GuidHelper.GenerateKey(), LogType = EnumType.LogType.用户操作.ToString(), LogContent = $"[{DateTime.Now.ToCstTime().ToString("yyyy-MM-dd HH:mm:ss")}][{ipAddress}]地址的[" + user.RealName + "]用户操作记录:登录系统", OpTime = DateTime.Now.ToCstTime(), OpUserName = user.RealName }; Task.Run(() => { try { Base_SysUserOperationLogBusiness _base_SysUserOperationLogBusiness = new Base_SysUserOperationLogBusiness(); _base_SysUserOperationLogBusiness.Insert(sysUserOperationLog); } catch { } }); #endregion return(Ok( new AjaxResult { Success = true, Msg = "登录成功!", Data = new JwtResponseDto { Access = jwt.Token, Type = "Bearer", Profile = new Profile { UserId = user.UserId, UserName = user.UserName, RealName = user.RealName, Auths = jwt.Auths, Expires = jwt.Expires } }, ErrorCode = 0 })); }
public async Task <IHttpActionResult> AddBotSecretAsync([FromBody] SecretDto input) { var response = await _kvOperator.SetSecretAsyn(input.Name, input.Secret); return(Ok(response)); }