From f72c7aa1e83b31f287fea988bef6dd20fe863bfa Mon Sep 17 00:00:00 2001 From: Alessandro Mazza <121622391+alessandromazza98@users.noreply.github.com> Date: Thu, 20 Jun 2024 19:28:21 +0200 Subject: [PATCH] fix: handle 0x prefix to jwt secret if it exists (#246) remove 0x prefix to jwt secret if it exists --- src/engine/auth.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/engine/auth.rs b/src/engine/auth.rs index fed17bdd..bda64705 100644 --- a/src/engine/auth.rs +++ b/src/engine/auth.rs @@ -30,8 +30,17 @@ impl JwtSecret { /// The provided `secret` must be a valid hexadecimal string of length 64. pub fn from_hex>(hex: S) -> Result { let hex: &str = hex.as_ref().trim(); + // Remove the "0x" or "0X" prefix if it exists + let hex = hex + .strip_prefix("0x") + .or_else(|| hex.strip_prefix("0X")) + .unwrap_or(hex); if hex.len() != JWT_SECRET_LEN { - Err(eyre::eyre!("Invalid JWT secret key length.")) + Err(eyre::eyre!( + "Invalid JWT secret key length. Expected {} characters, got {}.", + JWT_SECRET_LEN, + hex.len() + )) } else { let hex_bytes = hex::decode(hex)?; let bytes = hex_bytes.try_into().expect("is expected len");