This commit is contained in:
Putoo
2026-05-19 18:34:24 +08:00
parent 24c784e6a4
commit 2c85872abd
10 changed files with 341 additions and 61 deletions

View File

@@ -0,0 +1,7 @@
namespace Application.Web;
public class TokenConfig
{
public const int TokenTime = 5;//分钟
}

View File

@@ -174,7 +174,7 @@ namespace Application.Web.Controllers.Login
string Key = App.Configuration["JwtTokenOptions:SecurityKey"].ToString();
string Issuer = App.Configuration["JwtTokenOptions:Issuer"].ToString();
string Audience = App.Configuration["JwtTokenOptions:Audience"].ToString();
string token = JwtHelper.CreateToken(Key, Issuer, Audience, loadData, 300);
string token = JwtHelper.CreateToken(Key, Issuer, Audience, loadData, TokenConfig.TokenTime);
return PoAction.Ok(new { token = token, refToken = userInfo.token, userId = userInfo.userId });
}
@@ -226,11 +226,46 @@ namespace Application.Web.Controllers.Login
string Key = App.Configuration["JwtTokenOptions:SecurityKey"].ToString();
string Issuer = App.Configuration["JwtTokenOptions:Issuer"].ToString();
string Audience = App.Configuration["JwtTokenOptions:Audience"].ToString();
string token = JwtHelper.CreateToken(Key, Issuer, Audience, loadData, 1);
string token = JwtHelper.CreateToken(Key, Issuer, Audience, loadData, TokenConfig.TokenTime);
return PoAction.Ok(new
{ regOk = userInfo.regOk, token = token, refToken = userInfo.token, userId = userInfo.userId });
}
[HttpPost]
public async Task<IPoAction> RefreshToken([FromBody] RefreshTokenParms parms)
{
if (string.IsNullOrEmpty(parms.token) || string.IsNullOrEmpty(parms.refToken))
{
return PoAction.Message("刷新失败");
}
string Key = App.Configuration["JwtTokenOptions:SecurityKey"].ToString();
string Issuer = App.Configuration["JwtTokenOptions:Issuer"].ToString();
string Audience = App.Configuration["JwtTokenOptions:Audience"].ToString();
var data = JwtHelper.GetTokenPload(parms.token,Key);
string accId = string.Empty;
if (data.TryGetValue("accId", out object _accId))
{
accId = _accId.ToString();
}
var userInfo = await _userService.GetUserInfoByToken(parms.refToken);
if (userInfo == null)
{
return PoAction.Message("刷新失败,用户不存在!");
}
if (userInfo.accId != accId)
{
return PoAction.Message("刷新失败,数据信息不合法!");
}
Dictionary<string, object> loadData = new Dictionary<string, object>();
loadData.Add("userId", userInfo.userId);
loadData.Add("accId", userInfo.accId);
string token = JwtHelper.CreateToken(Key, Issuer, Audience, loadData, TokenConfig.TokenTime);
return PoAction.Ok(new
{ token = token, refToken = userInfo.token, userId = userInfo.userId });
}
/// <summary>
/// 注册角色信息
/// </summary>

View File

@@ -0,0 +1,7 @@
namespace Application.Web;
public class RefreshTokenParms
{
public string refToken { get; set; }
public string token { get; set; }
}