これはログイン画面を備えた既存のシステムです。現在、いくつかのサービスを REST サービスとして公開しています。この Rest(jersey) サービスの認証トークン ログイン システムを構築します。ユーザーがユーザー名とパスワードを送信すると、サーバーは次のように計算されたトークンを返します。
sha1(username+password+currenttime(or any random number))
ユーザーはこのトークンを使用してアプリにログインし、さらにリクエストを行います。サーバーは、タイムスタンプとユーザー ID を使用してトークンのコピーをデータベースに保持し、タイムスタンプが有効な場合はそのユーザーをログインさせます。
HTTPSが使用されることを考慮して、いくつか質問があります。
私のデザインはすべて問題ないように見えますか? (ハッシュの生成とDBに保存する方法)私には、POSTリクエストでプレーンなユーザー名とパスワードを送信する必要があることが最も弱点に見えますが、HTTPSであるため、問題にはならないと思います。
もう1つ、最初のリクエストについては、既存のシステムであるため、DBにユーザーパスワードを持っていませんが、それらのソルトハッシュバージョンを保持しています。すべてのクライアントにこのソルトアルゴリズムを提供してパスワードのハッシュを送信するのは安全ではないと思うので、パスワードではなくハッシュを比較します。これは意味がありますか=