登录刷新token优化

This commit is contained in:
tongfei
2023-12-08 17:09:55 +08:00
parent 1348cef17f
commit b47eaa5dc4
4 changed files with 29 additions and 6 deletions

View File

@@ -2912,6 +2912,15 @@
登录服务接口
</summary>
</member>
<member name="M:WMS.Web.Domain.IService.Public.ILoginService.CreateToken(WMS.Web.Core.Dto.Login.UserInfoDto,WMS.Web.Core.Dto.Login.Temp.LoginTempDto,System.String)">
<summary>
创建token
</summary>
<param name="data"></param>
<param name="tempDto"></param>
<param name="NewToken"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.IService.Public.ILoginService.GetUserInfoAsync(System.String)">
<summary>
得到单点用户信息

View File

@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using WMS.Web.Core.Dto.Login;
using WMS.Web.Core.Dto.Login.Temp;
using WMS.Web.Core.Internal.Results;
namespace WMS.Web.Domain.IService.Public
@@ -12,6 +13,16 @@ namespace WMS.Web.Domain.IService.Public
/// </summary>
public interface ILoginService
{
/// <summary>
/// 创建token
/// </summary>
/// <param name="data"></param>
/// <param name="tempDto"></param>
/// <param name="NewToken"></param>
/// <returns></returns>
Task<AccessTokenDto> CreateToken(UserInfoDto data, LoginTempDto tempDto, string NewToken);
/// <summary>
/// 得到单点用户信息
/// </summary>

View File

@@ -52,7 +52,7 @@ namespace WMS.Web.Domain.Services.Public
/// <param name="tempDto"></param>
/// <param name="NewToken"></param>
/// <returns></returns>
private async Task<AccessTokenDto> CreateToken(UserInfoDto data, LoginTempDto tempDto, string NewToken)
public async Task<AccessTokenDto> CreateToken(UserInfoDto data, LoginTempDto tempDto, string NewToken)
{
return await Task.Run(() =>
{

View File

@@ -100,11 +100,13 @@ namespace WMS.Web.Repositories.DependencyInjection
{
_logger.LogInformation("RefreshToken:我在刷新登录--2");
var refreshtokeninfo = RefreshToken(logininfo.TokenInfo.Token, logininfo.TokenInfo.RefreshToken, loginService);
if (!refreshtokeninfo)
{
RemoveRedisLoginInfo(token);
}
var info = _redisClientService.GetStringKey<LoginInDto>($"wms_login_{token}");
_logger.LogInformation("RefreshToken:我在刷新登录--完成:" + info.UserInfo.Nickname);
//刷新token后不能删除_redis用户缓存
//if (!refreshtokeninfo)
//{
// RemoveRedisLoginInfo(token);
//}
}
//3.验证检查是否有黑名单的token缓存
string blacktoken = _redisClientService.GetStringKey($"wms_black_token_{logininfo.UserInfo.UcId}");
@@ -156,6 +158,7 @@ namespace WMS.Web.Repositories.DependencyInjection
}
}
/// <summary>
/// 刷新token
/// </summary>