keyserver: tests!
This commit is contained in:
parent
d19eb16b45
commit
cfc15746a6
2 changed files with 121 additions and 12 deletions
|
@ -26,13 +26,10 @@ JWT_HEADER_NAME = 'Authorization'
|
|||
JWT_AUDIENCE = app.config['PREFERRED_URL_SCHEME'] + '://' + app.config['SERVER_HOSTNAME']
|
||||
|
||||
|
||||
def _validate_jwk(jwk, kid):
|
||||
def _validate_jwk(jwk):
|
||||
if 'kty' not in jwk:
|
||||
abort(400)
|
||||
|
||||
if 'kid' not in jwk or jwk['kid'] != kid:
|
||||
abort(400)
|
||||
|
||||
if jwk['kty'] == 'EC':
|
||||
if 'x' not in jwk or 'y' not in jwk:
|
||||
abort(400)
|
||||
|
@ -129,7 +126,7 @@ def put_service_key(service, kid):
|
|||
|
||||
encoded_jwt = match.group(1)
|
||||
|
||||
_validate_jwk(jwk, kid)
|
||||
_validate_jwk(jwk)
|
||||
|
||||
signer_kid = _signer_kid(encoded_jwt)
|
||||
|
||||
|
@ -196,10 +193,10 @@ def delete_service_key(service, kid):
|
|||
_validate_jwt(encoded_jwt, signer_key.jwk, service)
|
||||
|
||||
try:
|
||||
data.model.service_keys.delete_service_key(service, kid)
|
||||
data.model.service_keys.delete_service_key(kid)
|
||||
except data.model.ServiceKeyDoesNotExist:
|
||||
abort(404)
|
||||
|
||||
return make_response('', 200)
|
||||
return make_response('', 204)
|
||||
|
||||
abort(403)
|
||||
|
|
Reference in a new issue