token过期自动删除

This commit is contained in:
sulu 2023-12-20 21:21:27 +08:00
parent 01c1542f61
commit 2b2530dfbb
3 changed files with 15 additions and 4 deletions

View File

@ -10,8 +10,9 @@
<ItemGroup>
<PackageReference Include="LiteDB.Async" Version="0.1.7" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="8.0.0" />
<PackageReference Include="Microsoft.AspNetCore.SpaServices.Extensions" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0-preview.7.23375.6"/>
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Http" Version="7.0.0" />
<PackageReference Include="SharpMap" Version="1.2.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />

View File

@ -1,5 +1,6 @@
using AutoDispathingWork.Utils;
using LiteDB;
using Microsoft.Extensions.FileProviders;
using Microsoft.OpenApi.Models;
using WorkerService1;
using WorkerService1.Dto.Configuration;
@ -43,11 +44,14 @@ builder.Services.AddHostedService<CloseWorker>();
var app = builder.Build();
StaticServiceProvider.SetServiceProvider(app.Services);
app.UseCors("AllowAllOrigin");
#if DEBUG
app.UseSwagger();
app.UseSwaggerUI();
#endif
app.UseDefaultFiles();
app.UseStaticFiles();
app.MapControllers();

View File

@ -83,13 +83,19 @@ public class SpiderServices
public async Task<string?> GetToken()
{
return await _memoryCache.GetOrCreateAsync(nameof(GetToken), async entry =>
var token = await _memoryCache.GetOrCreateAsync(nameof(GetToken), async entry =>
{
var loginRes = await Login();
if (!loginRes.IsSuccess) return null;
if (!loginRes.IsSuccess)
{
entry.AbsoluteExpiration = DateTimeOffset.Now;
return null;
}
entry.AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(loginRes.Result?.ExpireTime ?? 0);
return loginRes.Result?.Token;
});
if(string.IsNullOrWhiteSpace(token)) _memoryCache.Remove(nameof(GetToken));
return token;
}