Basic logic for signing/verifying requests

This commit is contained in:
Eliot Berriot 2018-03-24 15:20:15 +01:00
parent ae65190364
commit aa7365b71f
No known key found for this signature in database
GPG key ID: DD6965E2476E5C27
7 changed files with 98 additions and 2 deletions

View file

@ -0,0 +1,30 @@
import factory
import requests
import requests_http_signature
from funkwhale_api.factories import registry
from . import signing
registry.register(signing.get_key_pair, name='federation.KeyPair')
@registry.register(name='federation.SignatureAuth')
class SignatureAuthFactory(factory.Factory):
algorithm = 'rsa-sha256'
key = factory.LazyFunction(lambda: signing.get_key_pair()[0])
key_id = factory.Faker('url')
class Meta:
model = requests_http_signature.HTTPSignatureAuth
@registry.register(name='federation.SignedRequest')
class SignedRequestFactory(factory.Factory):
url = factory.Faker('url')
method = 'get'
auth = factory.SubFactory(SignatureAuthFactory)
class Meta:
model = requests.Request