private Token GenerateToken(User user) { var claims = new[] { new Claim(ClaimTypes.Sid, user.Id.ToString()), new Claim(ClaimTypes.Name, user.Name) }; var now = DateTime.Now; var accessSxpires = now.Add(TimeSpan.FromMinutes(_jwtConfig.AccessTokenExpiresMinutes)); var token = new JwtSecurityToken( issuer: _jwtConfig.Issuer, audience: _jwtConfig.Audience, claims: claims, notBefore: now, expires: accessSxpires, signingCredentials: new SigningCredentials(new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_jwtConfig.IssuerSigningKey)), SecurityAlgorithms.HmacSha256)); var accessToken = new JwtSecurityTokenHandler().WriteToken(token); var refreshToken = FormatHelper.EncodeBase64(ObjectId.Default().NextId().ToString()); var refreshTokenExpires = now.Add(TimeSpan.FromDays(_jwtConfig.RefreshTokenExpiresDays)); return(new Token() { AccessToken = accessToken, AccessTokenExpires = accessSxpires.ConvertToUnixOfTime(), RefreshToken = refreshToken, RefreshTokenExpires = refreshTokenExpires.ConvertToUnixOfTime() }); }
public async Task <ActionResult <BaseResponse> > ModifyJob(SchedulerJobRequest request) { if (!ValidateJob(request)) { return(BaseResponse.GetResponse("Job参数错误")); } if (string.IsNullOrWhiteSpace(request.Id)) { var job = Utils.MapperPropertyValue <SchedulerJobRequest, JobEntity>(request); job.Id = ObjectId.Default().NextString(); var result = _jobStore.AddJob(job); if (result) { if (request.RunNow) { var status = await StartJob(job); return(BaseResponse.GetResponse(status.Success, $"任务创建成功! 状态:{status.Message}")); } return(BaseResponse.GetResponse(true, "任务创建成功")); } return(BaseResponse.GetResponse("任务创建失败")); } else { var job = _jobStore.QueryJob(request.Id); if (job == null) { return(BaseResponse.GetResponse("任务不存在")); } if (job.Status != (int)JobStatus.Stop) { return(BaseResponse.GetResponse("任务在停止状态下才能编辑")); } job.Name = request.Name; job.FilePath = request.FilePath; job.Remark = request.Remark; job.IsSimple = request.IsSimple; job.CronExpression = request.CronExpression; job.RepeatCount = request.RepeatCount; job.IntervalSeconds = request.IntervalSeconds; job.AssemblyName = request.AssemblyName; job.ClassName = request.ClassName; job.CustomParamsJson = request.CustomParamsJson; job.StartTime = request.StartTime; job.EndTime = request.EndTime; var result = _jobStore.UpdateJob(job); return(BaseResponse.GetResponse(result)); } }
public ConsulHostedService(IServiceRoute serviceRoute, RegisterServiceConfig registerServiceConfig) { _serviceRoute = serviceRoute; _registerServiceConfig = registerServiceConfig; _registerSrvice = new ServiceRouteDescriptor() { Id = ObjectId.Default().NextString(), Name = _registerServiceConfig.Name, Address = _registerServiceConfig.Address, Port = _registerServiceConfig.Port, HealthCheckType = _registerServiceConfig.HealthCheckType, HealthCheck = _registerServiceConfig.HealthCheck }; }
public ServiceRouteDescriptor() { Id = ObjectId.Default().NextString(); Metadatas = new Dictionary <string, object>(StringComparer.OrdinalIgnoreCase); }
public JobEntity() { Id = ObjectId.Default().NextString(); CreateTime = DateTime.Now; }