diff --git a/http-signature-normalization-actix/examples/server.rs b/http-signature-normalization-actix/examples/server.rs index fdc3a70..531ba0a 100644 --- a/http-signature-normalization-actix/examples/server.rs +++ b/http-signature-normalization-actix/examples/server.rs @@ -14,7 +14,7 @@ impl SignatureVerify for MyVerify { fn signature_verify( &mut self, algorithm: Option, - _key_id: &str, + key_id: &str, signature: &str, signing_string: &str, ) -> Self::Future { @@ -23,6 +23,10 @@ impl SignatureVerify for MyVerify { _ => return Err(MyError::Algorithm), }; + if key_id != "my-key-id" { + return Err(MyError::Key); + } + let decoded = base64::decode(signature).map_err(|_| MyError::Decode)?; Ok(decoded == signing_string.as_bytes()) @@ -61,6 +65,9 @@ enum MyError { #[fail(display = "Couldn't decode signature")] Decode, + + #[fail(display = "Invalid key")] + Key, } impl ResponseError for MyError {