ステートレス認証を処理するための標準的な方法はありますか?
私はAPIサーバーを作成しており、リクエストの発行者が当サイトの有効なユーザーであることを保証できるように、各リクエストがクライアントによって署名されることを望んでいます。
サーバーとクライアントには共有シークレットがあります。つまり、ユーザーのハッシュ化されたパスワードです。
- サーバーはランダムなナンス値をクライアントに送信します
- クライアントは署名鍵Kを(nonce、hashed_password)として作成します
- クライアントは、キーKを使用してメッセージ認証コードを追加することにより、各要求に「署名」します
- 例('delete image_x'、user_id、request_signature)
- 次に、サーバーは、署名を処理する前に、すべての要求に対して有効であるかどうかをチェックします。
明らかな欠陥はありますか?