Jak bezpiecznie wysłać hasło do usługi REST?

ja używamFlask-Restful zbudować usługę REST. Urządzenie z systemem iOS połączy się z tym zapleczem REST, aby zsynchronizować dane lokalne.

Usługa będzie dostępna przez ahttps połączenie.

Usługa REST jest bezstanowa i użytkownik musi uwierzytelnić się przy każdym żądaniu. W związku z tym nazwa użytkownika i hasło zostaną wysłane w formacie czytelnym do usługi REST. Backend będzie mieszał hasło i sprawdzał z istniejącym hashed hasłem w bazie danych.

api.add_resource(Records, '/rest/records/<string:email>/<string:password>/<string:ios_sync_timestamp>')

Teraz jednym z problemów, które widzę w tym podejściu, jest to, że nazwa użytkownika i hasło są w jasnym formacie jako część adresu URL GET. Dziennik serwera oczywiście to śledzi. Gdyby mój backend został kiedykolwiek włamany, pliki dziennika naraziłyby wszystkie nazwy użytkowników i hasła.

Jakie jest najlepsze rozwiązanie tego problemu? Myślałem o wysłaniu nazwy użytkownika i hasła jako argumentów POST, ale jak to zrobić w przypadku żądań GET?

class Records(Resource):
    def get(self, email, password, ios_sync_timestamp):
        pass
    def post(self, email, password, ios_sync_timestamp):
        pass

questionAnswers(2)

yourAnswerToTheQuestion