Allow for multiple api keys for a service.

This commit is contained in:
Rebecca Law
2016-01-19 18:25:21 +00:00
parent 811e7c1bec
commit 1db57dca8c
7 changed files with 80 additions and 40 deletions

View File

@@ -75,7 +75,7 @@ def get_service(service_id=None):
return jsonify(data=data)
@service.route('/<int:service_id>/api-key/renew', methods=['POST'])
@service.route('/<int:service_id>/api-key', methods=['POST'])
def renew_api_key(service_id=None):
try:
service = get_model_services(service_id=service_id)
@@ -92,10 +92,11 @@ def renew_api_key(service_id=None):
# create a new one
# TODO: what validation should be done here?
secret_name = request.get_json()['name']
save_model_api_key(ApiKey(service=service, name=secret_name))
key = ApiKey(service=service, name=secret_name)
save_model_api_key(key)
except DAOException as e:
return jsonify(result='error', message=str(e)), 400
unsigned_api_key = get_unsigned_secret(service_id)
unsigned_api_key = get_unsigned_secret(key.id)
return jsonify(data=unsigned_api_key), 201