0

Rails Web サービスを書いていますが、認証に authlogic を使用したいと考えています。クライアントはユーザー資格情報で認証できるはずなので、ssl で http 基本認証 (authenticate_or_request_with_http_basic) を使用することにしました。

認証用の元のパスワードをパスワード、URL、およびリクエスト時間のハッシュに置き換えて、リクエストが短時間でのみ使用できるようにすることで、セキュリティをさらに強化したいと考えています。Web サービスとクライアントの時刻が同期されていないため、ログイン資格情報の他にクライアントの時刻を送信する必要があります。クライアントの日付を認証ヘッダーに追加し、authenticate_or_request_with_http_basic メソッドを使用して読み取るにはどうすればよいですか?

4

1 に答える 1

0

時間の詳細をクライアントに送信する必要があるのはなぜですか? 認証サーバー側の TTL を保存し、その TTL に対して今後のすべてのリクエストを検証できます。

認証が成功すると、必要なことを実行するために xxx 分/日 (TTL) があることを示すメッセージがクライアントに送信される場合があります。TTL の有効期限が切れると、Web サービスは中立的な応答をクライアントに返す必要があります (認証の試行が失敗した場合と同じ - ハッキングの試みから身を守るため)。

クライアントの日付情報をいじらないことをお勧めします。マシンの日付が間違っている場合はどうなりますか?

更新: 私はまだクライアントの日付全体について心配しています. 他の人が Rails で APIを実装した方法を見てみましょう

于 2012-07-09T10:05:06.127 に答える