IDX10503: Signature validation failed. Token does not have a kid

,

i have an issue while check the token, the scenario is:

1- Login and get the Token(EXP 20 min) & refresh_Token(EXP 30 min) and the creation of the token will be depends on the userID (system will pass this step).

2- Every 2 min the system will refresh the Tokens and in this step the system will pass the first call of getTokens() but in the second call the request failed with next error

 IDX10503: Signature validation failed. Token does not have a kid. Keys tried: 'System.Text.StringBuilder'.
Exceptions caught:  'System.Text.StringBuilder'.
token: 'System.IdentityModel.Tokens.Jwt.JwtSecurityToken'.

the code is like this

getToken(){
var tokenDescriptor = new SecurityTokenDescriptor
			{
				//Issuer = ConfigHelper.GetIssuere(),
				//Audience = ConfigHelper.GetAudience(),
				Subject = new ClaimsIdentity(new[]
						{
							new Claim(ClaimTypes.NameIdentifier, TokenInfo),
							new Claim(ClaimTypes.Authentication, Token),
							new Claim(ClaimTypes.UserData, RefreshTokenID)
						}),
				//NotBefore = now,
				Expires = now.AddMinutes(Convert.ToInt32(expireMinutes)),
				SigningCredentials = ConfigHelper.GetSigningCredentials(),
			};


			SecurityToken securityToken = tokenHandler.CreateToken(tokenDescriptor);
			var token = tokenHandler.WriteToken(securityToken);
}


public static SigningCredentials GetSigningCredentials()
		{
			var result = new SigningCredentials(GetSymmetricSecurityKey(), SecurityAlgorithms.HmacSha256Signature);
			return result;
		}


public static SymmetricSecurityKey GetSymmetricSecurityKey()
		{
			byte[] data = GetSymmetricSecurityKeyAsBytes();
			var result = new SymmetricSecurityKey(data);
			
			return result;
		}



		public static byte[] GetSymmetricSecurityKeyAsBytes()
		{
					
			var Key = Encoding.UTF8.GetBytes("SomesecrectValueshere12345!@#$%^&*(");
			var Secret = Convert.ToBase64String(Key);

			return Convert.FromBase64String(Secret);

		}


public static ClaimsPrincipal GetPrincipal(string token)
		{
			try
			{
				


				var tokenHandler = new JwtSecurityTokenHandler();
				var jwtToken = tokenHandler.ReadToken(token) as JwtSecurityToken;

				if (jwtToken == null)
					return null;

				var validationParameters = new TokenValidationParameters()
				{
					//ValidAudience = ConfigHelper.GetAudience(),
					//ValidIssuer = ConfigHelper.GetIssuere(),
					RequireExpirationTime = true,
					ValidateIssuer = false,
					ValidateAudience = false,
					ValidateLifetime = true,
					IssuerSigningKey = ConfigHelper.GetSymmetricSecurityKey(TokenAccessType, RefreshToken),
					//NameClaimType = ClaimTypes.NameIdentifier,
					//ValidateIssuerSigningKey = true,
					//ClockSkew = new TimeSpan(0, 10, 0),
				};

				SecurityToken validatedToken;
				var principal = tokenHandler.ValidateToken(token, validationParameters, out validatedToken);

				return principal;
			}

			catch (Exception ex)
			{
				return null;
			}
		}