Skip to content

Commit 3908d61

Browse files
committed
fixes the hmac signature verifier implementation
1 parent edc2248 commit 3908d61

1 file changed

Lines changed: 7 additions & 6 deletions

File tree

apimatic_core/security/hmac_signature_verifier.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@
33
from typing import Optional, List, Callable
44

55
from 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

89
from apimatic_core.exceptions.signature_verification_error import SignatureVerificationError
910
from apimatic_core.security.encoders import DigestEncoder, HexEncoder
1011
from 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

Comments
 (0)