Skip to content
Snippets Groups Projects
Unverified Commit bfc19760 authored by Georg Krause's avatar Georg Krause
Browse files

Make correct use of class methods

parent 8d962826
Branches
Tags
No related merge requests found
Pipeline #20030 failed
......@@ -112,7 +112,7 @@ class HTTPSignatureAuth(requests.auth.AuthBase):
@classmethod
def get_string_to_sign(
self, request, headers, created_timestamp, expires_timestamp
cls, request, headers, created_timestamp, expires_timestamp
):
sts = []
for header in headers:
......@@ -180,7 +180,7 @@ class HTTPSignatureAuth(requests.auth.AuthBase):
return request
@classmethod
def get_sig_struct(self, request, scheme="Authorization"):
def get_sig_struct(cls, request, scheme="Authorization"):
sig_struct = request.headers[scheme]
if scheme == "Authorization":
sig_struct = sig_struct.split(" ", 1)[1]
......@@ -190,7 +190,7 @@ class HTTPSignatureAuth(requests.auth.AuthBase):
}
@classmethod
def verify(self, request, key_resolver, scheme="Authorization"):
def verify(cls, request, key_resolver, scheme="Authorization"):
if scheme == "Authorization":
assert "Authorization" in request.headers, "No Authorization header found"
msg = (
......@@ -204,13 +204,13 @@ class HTTPSignatureAuth(requests.auth.AuthBase):
'Unknown signature scheme "{}"'.format(scheme)
)
sig_struct = self.get_sig_struct(request, scheme=scheme)
sig_struct = cls.get_sig_struct(request, scheme=scheme)
for field in "keyId", "algorithm", "signature":
assert (
field in sig_struct
), 'Required signature parameter "{}" not found'.format(field)
assert (
sig_struct["algorithm"] in self.known_algorithms
sig_struct["algorithm"] in cls.known_algorithms
), "Unknown signature algorithm"
created_timestamp = (
int(sig_struct["created"]) if "created" in sig_struct else None
......@@ -220,7 +220,7 @@ class HTTPSignatureAuth(requests.auth.AuthBase):
expires_timestamp = int(expires_timestamp)
headers = sig_struct.get("headers", "date").split(" ")
sig = base64.b64decode(sig_struct["signature"])
sts = self.get_string_to_sign(
sts = cls.get_string_to_sign(
request, headers, created_timestamp, expires_timestamp=expires_timestamp
)
key = key_resolver(
......@@ -241,5 +241,6 @@ class HTTPSignatureHeaderAuth(HTTPSignatureAuth):
request.headers["Signature"] = self.create_signature_string(request)
return request
def verify(self, request, key_resolver):
@classmethod
def verify(cls, request, key_resolver):
return super().verify(request, key_resolver, scheme="Signature")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment