fix login use string

This commit is contained in:
2022-05-07 21:30:45 +08:00
parent 74c6cb6027
commit d252c1d302
6 changed files with 49 additions and 31 deletions
+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)
{ {