Как безопасно отправить пароль в службу REST?
Я используюКолба-Restful построить службу REST. Затем устройство iOS подключится к этому бэкэнду REST для синхронизации локальных данных.
Услуга будет доступна черезHTTPS подключение.
Служба REST не имеет состояния, и пользователь должен аутентифицироваться при каждом запросе. Следовательно, имя пользователя и пароль будут отправлены в формате REST. Бэкэнд будет хэшировать пароль и проверять его по существующему хешированному паролю в базе данных.
api.add_resource(Records, '/rest/records/<string:email>/<string:password>/<string:ios_sync_timestamp>')
Теперь одна проблема, с которой я сталкиваюсь при таком подходе, состоит в том, что имя пользователя и пароль имеют четкий формат как часть URL-адреса GET. Журнал сервера, очевидно, будет отслеживать это. Теперь, если мой бэкэнд когда-нибудь будет взломан, файлы журналов скомпрометируют все имена пользователей и пароли.
Каково лучшее решение для этого? Я думал, может быть, отправив имя пользователя и пароль в качестве аргументов POST, но как мне это сделать с запросами GET тогда?
class Records(Resource):
def get(self, email, password, ios_sync_timestamp):
pass
def post(self, email, password, ios_sync_timestamp):
pass