优化jwt首次无数据的异常。

This commit is contained in:
jianweie
2024-05-08 23:53:40 +08:00
parent 60613231d4
commit ce83544ed3

View File

@@ -103,15 +103,23 @@ namespace CoreCms.Net.Auth
{
OnMessageReceived = context =>
{
var token = context.Request.Headers["Authorization"].ObjectToString().Replace("Bearer ", "");
if (string.IsNullOrEmpty(token))
try
{
context.Response.Headers.Append("Token-Error-Token", "authorization decryption failure!");
}
else
var token = context.Request.Headers["Authorization"].ObjectToString().Replace("Bearer ", "");
if (!string.IsNullOrEmpty(token.Trim()))
{
context.Token = EncryptProvider.AESDecrypt(token, AppSettingsConstVars.JwtConfigSecretKey);
}
else
{
context.Response.Headers.Append("Token-Error-Token", "authorization decryption failure!");
}
}
catch
{
context.Response.Headers.Append("Token-Error-Token", "authorization decryption failure ex!");
}
return Task.CompletedTask;
},
OnChallenge = context =>
@@ -122,18 +130,14 @@ namespace CoreCms.Net.Auth
OnAuthenticationFailed = context =>
{
var token = context.Request.Headers["Authorization"].ObjectToString().Replace("Bearer ", "");
if (string.IsNullOrEmpty(token))
if (!string.IsNullOrEmpty(token.Trim()))
{
try
{
context.Response.Headers.Append("Token-Error-Token", "token is wrong!");
}
//进行aes解密
var decodeToken = EncryptProvider.AESDecrypt(token, AppSettingsConstVars.JwtConfigSecretKey);
if (string.IsNullOrEmpty(decodeToken))
if (!string.IsNullOrEmpty(decodeToken))
{
context.Response.Headers.Append("Token-Error-Token", "token decryption failure!");
}
var jwtToken = (new JwtSecurityTokenHandler()).ReadJwtToken(decodeToken);
if (jwtToken.Issuer != issuer)
@@ -151,6 +155,23 @@ namespace CoreCms.Net.Auth
{
context.Response.Headers.Append("Token-Expired", "true");
}
}
else
{
context.Response.Headers.Append("Token-Error-Token", "token decryption failure!");
}
}
catch
{
context.Response.Headers.Append("Token-Error-Token", "token decryption failure ex!");
}
}
else
{
context.Response.Headers.Append("Token-Error-Token", "token is wrong!");
}
return Task.CompletedTask;
}
};
@@ -233,15 +254,23 @@ namespace CoreCms.Net.Auth
{
OnMessageReceived = context =>
{
var token = context.Request.Headers["Authorization"].ObjectToString().Replace("Bearer ", "");
if (string.IsNullOrEmpty(token))
try
{
context.Response.Headers.Append("Token-Error-Token", "authorization decryption failure!");
}
else
var token = context.Request.Headers["Authorization"].ObjectToString().Replace("Bearer ", "");
if (!string.IsNullOrEmpty(token.Trim()))
{
context.Token = EncryptProvider.AESDecrypt(token, AppSettingsConstVars.JwtConfigSecretKey);
}
else
{
context.Response.Headers.Append("Token-Error-Token", "authorization decryption failure!");
}
}
catch
{
context.Response.Headers.Append("Token-Error-Token", "authorization decryption failure ex!");
}
return Task.CompletedTask;
},
OnChallenge = context =>
@@ -252,18 +281,14 @@ namespace CoreCms.Net.Auth
OnAuthenticationFailed = context =>
{
var token = context.Request.Headers["Authorization"].ObjectToString().Replace("Bearer ", "");
if (string.IsNullOrEmpty(token))
if (!string.IsNullOrEmpty(token.Trim()))
{
try
{
context.Response.Headers.Append("Token-Error-Token", "token is wrong!");
}
//进行aes解密
var decodeToken = EncryptProvider.AESDecrypt(token, AppSettingsConstVars.JwtConfigSecretKey);
if (string.IsNullOrEmpty(decodeToken))
if (!string.IsNullOrEmpty(decodeToken))
{
context.Response.Headers.Append("Token-Error-Token", "token decryption failure!");
}
var jwtToken = (new JwtSecurityTokenHandler()).ReadJwtToken(decodeToken);
if (jwtToken.Issuer != issuer)
@@ -281,6 +306,23 @@ namespace CoreCms.Net.Auth
{
context.Response.Headers.Append("Token-Expired", "true");
}
}
else
{
context.Response.Headers.Append("Token-Error-Token", "token decryption failure!");
}
}
catch
{
context.Response.Headers.Append("Token-Error-Token", "token decryption failure ex!");
}
}
else
{
context.Response.Headers.Append("Token-Error-Token", "token is wrong!");
}
return Task.CompletedTask;
}
};