更新JWT
This commit is contained in:
1 parent
bb7162aaf6
commit
3769193696
16 files changed
+224
-141
No files matched your search
@@ -29,7 +29,7 @@ namespace Store.Api.Controllers
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 登录:校验用户名/密码,签发 JWT(单点登录:同用户的新登录会使旧令牌失效)
|
||||
/// 登录:校验用户名/密码,签发 JWT(同账号支持多个独立会话)
|
||||
/// </summary>
|
||||
[HttpPost]
|
||||
[EndpointSummary("用户登录")]
|
||||
@@ -51,21 +51,21 @@ namespace Store.Api.Controllers
|
||||
new(JwtClaimTypes.UserName, user.UserName),
|
||||
};
|
||||
|
||||
TokenResult token = _tokenService.CreateToken(claims);
|
||||
TokenResult token = _tokenService.CreateToken(claims, HttpContext.Connection.RemoteIpAddress?.ToString());
|
||||
return ApiResult.Ok(token);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 退出登录:销毁当前用户的服务端在线会话,令牌立即失效
|
||||
/// 退出登录:撤销当前客户端的服务端登录会话,令牌立即失效
|
||||
/// </summary>
|
||||
[HttpPost]
|
||||
[EndpointSummary("退出登录")]
|
||||
[Authorize]
|
||||
public ApiResult<object?> Logout()
|
||||
{
|
||||
if (_currentUser.UserName is string username)
|
||||
if (_currentUser.UserName is string username && _currentUser.GetClaimValue(JwtClaimTypes.Jti) is string jti)
|
||||
{
|
||||
_onlineUserStore.SignOut(username);
|
||||
_onlineUserStore.SignOutSession(username, jti);
|
||||
}
|
||||
|
||||
return ApiResult<object?>.Ok(null);
|
||||
|
||||
Reference in new issue
Block a user