using System; using Microsoft.Extensions.Configuration; using Volo.Abp.DependencyInjection; namespace Win_in.Sfs.Wms.Dashboard.Host; /// /// 鉴权处理 /// public class HttpAuthorizationHandler : ISingletonDependency { private readonly ITokenService _tokenService; private readonly IConfiguration _configuration; private static TokenInfo TokenInfo { get; } = new(); /// /// 鉴权处理 /// /// /// public HttpAuthorizationHandler(ITokenService tokenService, IConfiguration configuration) { _tokenService = tokenService; _configuration = configuration; } /// /// 是否已鉴权 /// /// public bool IsLoggedIn() { if (!string.IsNullOrEmpty(TokenInfo.BaererToken?.access_token) && TokenInfo.ExpireTime > DateTimeOffset.Now) { return true; } var token = _tokenService.GetTokenAsync().Result; TokenInfo.BaererToken = token; TokenInfo.GetTime = DateTimeOffset.Now; return true; } /// /// 获取当前Token /// /// public string GetCurrentBearer() { return TokenInfo.BaererToken.access_token; } }