33from typing import Optional , List , Callable
44
55from apimatic_core_interfaces .http .request import Request
6- from apimatic_core_interfaces .security .verification_result import VerificationResult
6+ from apimatic_core_interfaces .types .signature_verification_result import SignatureVerificationResult
7+ from apimatic_core_interfaces .security .signature_verifier import SignatureVerifier
78
89from apimatic_core .exceptions .signature_verification_error import SignatureVerificationError
910from apimatic_core .security .encoders import DigestEncoder , HexEncoder
1011from apimatic_core .templating .template_engine import TemplateEngine
1112
1213
13- class HmacSignatureVerifier :
14+ class HmacSignatureVerifier ( SignatureVerifier ) :
1415 """
1516 Template-driven HMAC signature verifier.
1617
@@ -68,12 +69,12 @@ def __init__(
6869 self ._engine = TemplateEngine ()
6970 self ._plan : List [Callable [[Request ], bytes ]] = self ._engine .compile (message_template )
7071
71- def verify (self , request : Request ) -> VerificationResult :
72+ def verify (self , request : Request ) -> SignatureVerificationResult :
7273 """Verify the signature in the request headers."""
7374 try :
7475 provided = self ._read_signature_header (request )
7576 if provided is None :
76- return VerificationResult .failed (
77+ return SignatureVerificationResult .failed (
7778 ValueError (f"Signature header '{ self ._signature_header_lc } ' is missing." )
7879 )
7980
@@ -87,11 +88,11 @@ def verify(self, request: Request) -> VerificationResult:
8788 )
8889
8990 ok = hmac .compare_digest (provided , expected )
90- return VerificationResult .passed () if ok else VerificationResult .failed (
91+ return SignatureVerificationResult .passed () if ok else SignatureVerificationResult .failed (
9192 SignatureVerificationError ("Signature mismatch." )
9293 )
9394 except Exception as exc :
94- return VerificationResult .failed (
95+ return SignatureVerificationResult .failed (
9596 SignatureVerificationError (f"Signature Verification Failed: { exc } " )
9697 )
9798
0 commit comments