Flask-Restfulを使用して REST サービスを構築しています。iOS デバイスは、この REST バックエンドに接続してローカル データを同期します。
サービスはhttps接続を介してアクセスされます。
REST サービスはステートレスであり、ユーザーは要求ごとに認証する必要があります。したがって、ユーザー名とパスワードはクリア形式で REST サービスに送信されます。バックエンドはパスワードをハッシュし、データベース内の既存のハッシュされたパスワードと照合します。
api.add_resource(Records, '/rest/records/<string:email>/<string:password>/<string:ios_sync_timestamp>')
このアプローチで私が目にする 1 つの問題は、ユーザー名とパスワードが GET URL の一部として明確な形式になっていることです。サーバーログは明らかにこれを追跡します。バックエンドがハッキングされた場合、ログ ファイルはすべてのユーザー名とパスワードを危険にさらします。
これに対する最善の解決策は何ですか?ユーザー名とパスワードを POST 引数として送信することを考えていましたが、GET リクエストでどのようにすればよいでしょうか?
class Records(Resource):
def get(self, email, password, ios_sync_timestamp):
pass
def post(self, email, password, ios_sync_timestamp):
pass