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()
            });
        }
Example #2
0
        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
            };
        }
Example #4
0
 public ServiceRouteDescriptor()
 {
     Id        = ObjectId.Default().NextString();
     Metadatas = new Dictionary <string, object>(StringComparer.OrdinalIgnoreCase);
 }
Example #5
0
 public JobEntity()
 {
     Id         = ObjectId.Default().NextString();
     CreateTime = DateTime.Now;
 }