Compare commits

..
2 Commits
Author SHA1 Message Date
xrain 55ea40b757 add string id only 2022-05-07 21:45:12 +08:00
xrain d252c1d302 fix login use string 2022-05-07 21:30:45 +08:00
7 changed files with 58 additions and 31 deletions
+9
View File
@@ -10,6 +10,14 @@ namespace SimApi.Communications
public int Id { get; set; } public int Id { get; set; }
} }
/// <summary>
/// 只有ID的请求(字符串)
/// </summary>
public class SimApiStringIdOnlyRequest
{
public string Id { get; set; }
}
/// <summary> /// <summary>
/// 动态类型单字段请求 /// 动态类型单字段请求
/// </summary> /// </summary>
@@ -25,6 +33,7 @@ namespace SimApi.Communications
public class SimApiBasePageRequest public class SimApiBasePageRequest
{ {
public int Page { get; set; } public int Page { get; set; }
public int Count { get; set; } public int Count { get; set; }
} }
} }
+4 -2
View File
@@ -1,4 +1,5 @@
using System; using System;
namespace SimApi.Communications namespace SimApi.Communications
{ {
/// <summary> /// <summary>
@@ -7,8 +8,9 @@ namespace SimApi.Communications
public class SimApiLoginItem public class SimApiLoginItem
{ {
//登录用户的ID //登录用户的ID
public int Id { get; set; } public string Id { get; set; }
//登录用户来源 //登录用户来源
public string[] Type { get; set; } public string[] Type { get; set; }
} }
} }
-2
View File
@@ -85,7 +85,5 @@ namespace SimApi.Controllers
{ {
return new SimApiBaseResponse<string>(); return new SimApiBaseResponse<string>();
} }
} }
} }
+5 -2
View File
@@ -35,10 +35,13 @@ namespace SimApi.Controllers
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost("/auth/check"), SimApiDoc("认证", "检测登陆")] [HttpPost("/auth/check"), SimApiDoc("认证", "检测登陆")]
public SimApiBaseResponse<int> CheckLogin() public SimApiBaseResponse<string> CheckLogin()
{ {
ErrorWhenNull(LoginInfo, 401); ErrorWhenNull(LoginInfo, 401);
return new SimApiBaseResponse<int> {Data = LoginInfo.Id}; return new SimApiBaseResponse<string>
{
Data = LoginInfo.Id
};
} }
/// <summary> /// <summary>
+2 -2
View File
@@ -23,7 +23,7 @@ namespace SimApi.Helpers
/// </summary> /// </summary>
/// <param name="id"></param> /// <param name="id"></param>
/// <returns></returns> /// <returns></returns>
public string Login(int id, string type = "user", string token = null) public string Login(string id, string type = "user", string token = null)
{ {
return Login(id, new[] { type }, token); return Login(id, new[] { type }, token);
} }
@@ -34,7 +34,7 @@ namespace SimApi.Helpers
/// <param name="id"></param> /// <param name="id"></param>
/// <param name="type"></param> /// <param name="type"></param>
/// <returns></returns> /// <returns></returns>
public string Login(int id, string[] type, string uuid = null) public string Login(string id, string[] type, string uuid = null)
{ {
if (uuid == null) if (uuid == null)
{ {
+2 -8
View File
@@ -12,15 +12,9 @@ namespace SimApi.Logger
Name = name; Name = name;
} }
public IDisposable BeginScope<TState>(TState state) public IDisposable BeginScope<TState>(TState state) => default!;
{
return null;
}
public bool IsEnabled(LogLevel logLevel) public bool IsEnabled(LogLevel logLevel) => true;
{
return true;
}
public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception,
Func<TState, Exception, string> formatter) Func<TState, Exception, string> formatter)
+36 -15
View File
@@ -23,7 +23,7 @@ namespace SimApi
var simApiOptions = new SimApiOptions(); var simApiOptions = new SimApiOptions();
options?.Invoke(simApiOptions); options?.Invoke(simApiOptions);
// 是否使用SIMAUTH // 是否使用 AUTH
if (simApiOptions.EnableSimApiAuth) if (simApiOptions.EnableSimApiAuth)
{ {
builder.AddScoped<SimApiAuth>(); builder.AddScoped<SimApiAuth>();
@@ -43,7 +43,11 @@ namespace SimApi
{ {
foreach (var group in docOptions.ApiGroups) foreach (var group in docOptions.ApiGroups)
{ {
x.SwaggerDoc(group.Id, new OpenApiInfo {Title = group.Name, Description = group.Description}); x.SwaggerDoc(group.Id, new OpenApiInfo
{
Title = group.Name,
Description = group.Description
});
} }
x.EnableAnnotations(); x.EnableAnnotations();
@@ -61,9 +65,15 @@ namespace SimApi
new OpenApiSecurityScheme new OpenApiSecurityScheme
{ {
Reference = new OpenApiReference Reference = new OpenApiReference
{Type = ReferenceType.SecurityScheme, Id = "HeaderToken"} {
Type = ReferenceType.SecurityScheme,
Id = "HeaderToken"
}
}, },
new[] {"readAccess", "writeAccess"} new[]
{
"readAccess", "writeAccess"
}
} }
}); });
haveSimApiAuth = true; haveSimApiAuth = true;
@@ -121,9 +131,15 @@ namespace SimApi
new OpenApiSecurityScheme new OpenApiSecurityScheme
{ {
Reference = new OpenApiReference Reference = new OpenApiReference
{Type = ReferenceType.SecurityScheme, Id = "oauth2"} {
Type = ReferenceType.SecurityScheme,
Id = "oauth2"
}
}, },
new[] {"SimApiAuth"} new[]
{
"SimApiAuth"
}
} }
}); });
} }
@@ -131,7 +147,11 @@ namespace SimApi
if (haveSimApiAuth) if (haveSimApiAuth)
{ {
x.AddSecurityDefinition("HeaderToken", x.AddSecurityDefinition("HeaderToken",
new OpenApiSecurityScheme {Name = "Token", In = ParameterLocation.Header}); new OpenApiSecurityScheme
{
Name = "Token",
In = ParameterLocation.Header
});
} }
}); });
} }
@@ -139,17 +159,17 @@ namespace SimApi
// 使用Header转发,应对代理后获取真实ip // 使用Header转发,应对代理后获取真实ip
if (simApiOptions.EnableForwardHeaders) if (simApiOptions.EnableForwardHeaders)
{ {
builder.Configure<ForwardedHeadersOptions>(options => builder.Configure<ForwardedHeadersOptions>(fwOptions =>
{ {
options.ForwardedHeaders = ForwardedHeaders.All; fwOptions.ForwardedHeaders = ForwardedHeaders.All;
options.KnownNetworks.Clear(); fwOptions.KnownNetworks.Clear();
options.KnownProxies.Clear(); fwOptions.KnownProxies.Clear();
}); });
} }
if (simApiOptions.EnableLowerUrl) if (simApiOptions.EnableLowerUrl)
{ {
builder.AddRouting(options => options.LowercaseUrls = true); builder.AddRouting(rOptions => rOptions.LowercaseUrls = true);
} }
if (simApiOptions.EnableSimApiStorage) if (simApiOptions.EnableSimApiStorage)
@@ -169,13 +189,14 @@ namespace SimApi
/// <returns></returns> /// <returns></returns>
public static IApplicationBuilder UseSimApi(this IApplicationBuilder builder) public static IApplicationBuilder UseSimApi(this IApplicationBuilder builder)
{ {
var options = builder.ApplicationServices.GetService<SimApiOptions>(); var options = builder.ApplicationServices.GetRequiredService<SimApiOptions>();
if (options.EnableLogger) if (options.EnableLogger)
{ {
builder.ApplicationServices.GetService<ILoggerFactory>().AddProvider(new SimApiLoggerProvider()); builder.ApplicationServices.GetRequiredService<ILoggerFactory>()
.AddProvider(new SimApiLoggerProvider());
} }
var logger = builder.ApplicationServices.GetService<ILogger<SimApiLogger>>(); var logger = builder.ApplicationServices.GetRequiredService<ILogger<SimApiLogger>>();
if (options.EnableForwardHeaders) if (options.EnableForwardHeaders)
{ {