更新 JWT
This commit is contained in:
1 parent
f84c4c1949
commit
8526e5e0d2
10 files changed
+40
-63
No files matched your search
@@ -1,4 +1,4 @@
|
||||
using Asp.Versioning.OpenApi;
|
||||
using Asp.Versioning.OpenApi;
|
||||
using Microsoft.AspNetCore.Authentication.JwtBearer;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
@@ -68,12 +68,12 @@ public static class JwtServiceCollectionExtensions
|
||||
{
|
||||
IOnlineUserStore onlineUserStore = context.HttpContext.RequestServices.GetRequiredService<IOnlineUserStore>();
|
||||
ClaimsPrincipal? principal = context.Principal;
|
||||
string? userIdValue = principal?.FindFirst(JwtClaimTypes.UserId)?.Value;
|
||||
string? userName = principal?.FindFirst(JwtClaimTypes.UserName)?.Value;
|
||||
string? jti = principal?.FindFirst(JwtClaimTypes.Jti)?.Value;
|
||||
|
||||
if (!int.TryParse(userIdValue, out int userId)
|
||||
if (string.IsNullOrWhiteSpace(userName)
|
||||
|| string.IsNullOrWhiteSpace(jti)
|
||||
|| !onlineUserStore.IsTokenActive(userId, jti))
|
||||
|| !onlineUserStore.IsTokenActive(userName, jti))
|
||||
{
|
||||
context.Fail(new SecurityTokenException("登录已失效,请重新登录"));
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user