Replace requests-http-signature with requests-http-message-signatures
This commit is contained in:
parent
ffd1ae0c44
commit
09b1e7a007
|
@ -2,7 +2,7 @@ import uuid
|
|||
|
||||
import factory
|
||||
import requests
|
||||
import requests_http_signature
|
||||
import requests_http_message_signatures
|
||||
from django.conf import settings
|
||||
from django.utils import timezone
|
||||
from django.utils.http import http_date
|
||||
|
@ -20,11 +20,10 @@ class SignatureAuthFactory(factory.Factory):
|
|||
algorithm = "rsa-sha256"
|
||||
key = factory.LazyFunction(lambda: keys.get_key_pair()[0])
|
||||
key_id = factory.Faker("url")
|
||||
use_auth_header = False
|
||||
headers = ["(request-target)", "user-agent", "host", "date", "accept"]
|
||||
|
||||
class Meta:
|
||||
model = requests_http_signature.HTTPSignatureAuth
|
||||
model = requests_http_message_signatures.HTTPSignatureHeaderAuth
|
||||
|
||||
|
||||
@registry.register(name="federation.SignedRequest")
|
||||
|
|
|
@ -8,7 +8,7 @@ from django.utils import timezone
|
|||
from django.utils.http import parse_http_date
|
||||
|
||||
import requests
|
||||
import requests_http_signature
|
||||
import requests_http_message_signatures
|
||||
|
||||
from . import exceptions, utils
|
||||
|
||||
|
@ -45,8 +45,8 @@ def verify(request, public_key):
|
|||
)
|
||||
verify_date(date)
|
||||
try:
|
||||
return requests_http_signature.HTTPSignatureAuth.verify(
|
||||
request, key_resolver=lambda **kwargs: public_key, use_auth_header=False
|
||||
return requests_http_message_signatures.HTTPSignatureHeaderAuth.verify(
|
||||
request, key_resolver=lambda **kwargs: public_key
|
||||
)
|
||||
except cryptography.exceptions.InvalidSignature:
|
||||
logger.warning(
|
||||
|
@ -65,7 +65,7 @@ def verify_django(django_request, public_key):
|
|||
headers = utils.clean_wsgi_headers(django_request.META)
|
||||
for h, v in list(headers.items()):
|
||||
# we include lower-cased version of the headers for compatibility
|
||||
# with requests_http_signature
|
||||
# with requests_http_message_signatures
|
||||
headers[h.lower()] = v
|
||||
try:
|
||||
signature = headers["Signature"]
|
||||
|
@ -98,8 +98,7 @@ def verify_django(django_request, public_key):
|
|||
|
||||
|
||||
def get_auth(private_key, private_key_id):
|
||||
return requests_http_signature.HTTPSignatureAuth(
|
||||
use_auth_header=False,
|
||||
return requests_http_message_signatures.HTTPSignatureHeaderAuth(
|
||||
headers=["(request-target)", "user-agent", "host", "date"],
|
||||
algorithm="rsa-sha256",
|
||||
key=private_key.encode("utf-8"),
|
||||
|
|
|
@ -41,9 +41,7 @@ uvicorn[standard]~=0.14.0
|
|||
gunicorn~=20.1.0
|
||||
|
||||
cryptography>=3.3.2
|
||||
# requests-http-signature==0.0.3
|
||||
# clone until the branch is merged and released upstream
|
||||
git+https://github.com/agateblue/requests-http-signature.git@signature-header-support
|
||||
requests-http-message-signature==0.3.1
|
||||
django-cleanup~=5.2.0
|
||||
requests~=2.26.0
|
||||
pyOpenSSL~=20.0.1
|
||||
|
|
Loading…
Reference in New Issue