abstract padding logic - don't repeat
This commit is contained in:
parent
c5d4e237ad
commit
afc6368915
|
@ -17,11 +17,8 @@ namespace Oqtane.Security
|
||||||
{
|
{
|
||||||
public string GenerateToken(Alias alias, ClaimsIdentity identity, string secret, string issuer, string audience, int lifetime)
|
public string GenerateToken(Alias alias, ClaimsIdentity identity, string secret, string issuer, string audience, int lifetime)
|
||||||
{
|
{
|
||||||
// ensure secret is 256 bits
|
|
||||||
if (secret.Length < 32) secret = (secret + "????????????????????????????????").Substring(0, 32);
|
|
||||||
|
|
||||||
var tokenHandler = new JwtSecurityTokenHandler();
|
var tokenHandler = new JwtSecurityTokenHandler();
|
||||||
var key = Encoding.ASCII.GetBytes(secret);
|
var key = Encoding.ASCII.GetBytes(PadSecret(secret));
|
||||||
var tokenDescriptor = new SecurityTokenDescriptor
|
var tokenDescriptor = new SecurityTokenDescriptor
|
||||||
{
|
{
|
||||||
Subject = new ClaimsIdentity(identity),
|
Subject = new ClaimsIdentity(identity),
|
||||||
|
@ -38,11 +35,8 @@ namespace Oqtane.Security
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrEmpty(token))
|
if (!string.IsNullOrEmpty(token))
|
||||||
{
|
{
|
||||||
// ensure secret is 256 bits
|
|
||||||
if (secret.Length < 32) secret = (secret + "????????????????????????????????").Substring(0, 32);
|
|
||||||
|
|
||||||
var tokenHandler = new JwtSecurityTokenHandler();
|
var tokenHandler = new JwtSecurityTokenHandler();
|
||||||
var key = Encoding.ASCII.GetBytes(secret);
|
var key = Encoding.ASCII.GetBytes(PadSecret(secret));
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
tokenHandler.ValidateToken(token, new TokenValidationParameters
|
tokenHandler.ValidateToken(token, new TokenValidationParameters
|
||||||
|
@ -72,5 +66,11 @@ namespace Oqtane.Security
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private string PadSecret(string secret)
|
||||||
|
{
|
||||||
|
// ensure secret is 256 bits
|
||||||
|
return (secret.Length < 32) ? (secret + "????????????????????????????????").Substring(0, 32) : secret;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user