public async Task <BlogResponse <string> > GenerateTokenAsync(string type, string code, string state) { var response = new BlogResponse <string>(); if (!StateManager.IsExist(state)) { response.IsFailed("Request failed."); return(response); } StateManager.Remove(state); var token = type switch { "github" => GenerateToken(await _githubService.GetUserByOAuthAsync(type, code, state)), "gitee" => GenerateToken(await _giteeService.GetUserByOAuthAsync(type, code, state)), "alipay" => GenerateToken(await _alipayService.GetUserByOAuthAsync(type, code, state)), "dingtalk" => GenerateToken(await _dingtalkService.GetUserByOAuthAsync(type, code, state)), "microsoft" => GenerateToken(await _microsoftService.GetUserByOAuthAsync(type, code, state)), "weibo" => GenerateToken(await _weiboService.GetUserByOAuthAsync(type, code, state)), "qq" => GenerateToken(await _qqService.GetUserByOAuthAsync(type, code, state)), _ => throw new NotImplementedException($"Not implemented:{type}") }; response.IsSuccess(token); return(response); }
public async Task <BlogResponse <List <UserDto> > > GetUsersAsync() { var response = new BlogResponse <List <UserDto> >(); var users = await _users.GetListAsync(); var result = ObjectMapper.Map <List <User>, List <UserDto> >(users); response.IsSuccess(result); return(response); }
public async Task <BlogResponse <string> > GenerateTokenAsync([FromServices] IUserService userService, AccountInput input) { var response = new BlogResponse <string>(); var user = await userService.VerifyByAccountAsync(input.Username, input.Password); var token = GenerateToken(user); response.IsSuccess(token); return(await Task.FromResult(response)); }
public override void OnApplicationInitialization(ApplicationInitializationContext context) { var app = context.GetApplicationBuilder(); var env = context.GetEnvironment(); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseForwardedHeaders(new ForwardedHeadersOptions { ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto, ForwardLimit = null }); app.UseHealthChecks("/api/meowv/health", new HealthCheckOptions { ResponseWriter = (context, healthReport) => { context.Response.ContentType = "application/json;charset=utf-8"; context.Response.StatusCode = StatusCodes.Status200OK; var result = healthReport.Entries.Select(x => new NameValue { Name = x.Key, Value = x.Value.Status.ToString() }); var response = new BlogResponse <IEnumerable <NameValue> >(); response.IsSuccess(result); return(context.Response.WriteAsJsonAsync(response)); } }); app.UseHsts(); app.UseRouting(); app.UseCors(AppOptions.Cors.PolicyName); app.UseAuthentication(); app.UseAuthorization(); app.UseSwagger(); app.UseSwaggerUI(options => { options.HeadContent = @"<style>.opblock-summary-description{font-weight: bold;text-align: right;}</style>"; options.SwaggerEndpoint($"/swagger/{AppOptions.Swagger.Name}/swagger.json", AppOptions.Swagger.Title); options.DefaultModelsExpandDepth(-1); options.DocExpansion(DocExpansion.None); options.RoutePrefix = AppOptions.Swagger.RoutePrefix; options.DocumentTitle = AppOptions.Swagger.DocumentTitle; }); app.UseAuditing(); app.UseAbpSerilogEnrichers(); app.UseConfiguredEndpoints(); }
public async Task <BlogResponse <PushUrlsCacheResponse> > PushCdnUrlsAsync(List <string> urls) { var result = new BlogResponse <PushUrlsCacheResponse>(); var parameters = new { Urls = urls }.SerializeToJson(); DoCdnAction(out CdnClient client, out PushUrlsCacheRequest req, parameters); var resp = await client.PushUrlsCache(req); result.IsSuccess(resp); return(result); }
public async Task <BlogResponse <PurgePathCacheResponse> > PurgeCdnPathsAsync(List <string> paths) { var result = new BlogResponse <PurgePathCacheResponse>(); var parameters = new { Paths = paths, FlushType = "flush" }.SerializeToJson(); DoCdnAction(out CdnClient client, out PurgePathCacheRequest req, parameters); var resp = await client.PurgePathCache(req); result.IsSuccess(resp); return(result); }
public async Task <BlogResponse <UserDto> > GetUserAsync(string id) { var response = new BlogResponse <UserDto>(); var user = await _users.FindAsync(id.ToObjectId()); if (user is null) { response.IsFailed("The user id is not exists."); return(response); } var result = ObjectMapper.Map <User, UserDto>(user); response.IsSuccess(result); return(response); }
public async Task <BlogResponse <string> > GenerateTokenAsync([Required] string code) { var response = new BlogResponse <string>(); var cacheCode = await _authorizeCacheService.GetAuthorizeCodeAsync(); if (code != cacheCode) { response.IsFailed("The authorization code is wrong."); return(response); } var user = await _userService.GetDefaultUserAsync(); var token = GenerateToken(user); response.IsSuccess(token); return(response); }