私はRestletを使用して作成しているAPIの一部を保護するためにDigestAuthenticator
を使用しようとしています。すべての例では、DigestAuthenticator
はローカル秘密をプレーンテキストで返すLocalVerifier
をラップすることを想定しています。明らかに、私はすべてのユーザーのパスワードをプレーンテキストで保存したくありません。ローカルのシークレットをプレーンテキストで提供しないで、RestletでHTTPダイジェストを使用するにはどうすればよいですか?Restlet DigestAuthenticatorがローカルシークレットをハッシュしました
私はdbを照会してsha1のパスワードを取得するためにidentiferを使用するLocalVerifier
を書きましたが、Verifier
がプレーンテキストでパスワードを返さないと機能しません。
アイデア?
Q&AはThxです。これを読んだ後、DigestAuthenticationをデバッグして、秘密をエンコードするためのメソッドをオーバーライドして、ユーザーデータベースのエンコードされたハッシュと一致させることができる場所を探しました。しかし、ダイジェスト認証の全体のポイントは、秘密が平野に伝わらないということです!実際に使用したハッシュを使ったプリエンコードのソリューションが唯一のものです。私のクライアントは配布されており、おそらくは逆コンパイルが可能なので、私は自分のハッシュを渡したいとは思っていません。だからダイジェストは私のための解決策ではありません。 – Yashima
こんにちはFinbarr、これは私にとっても問題です。残念ながら、restletはクライアントとサーバーの両方です。そのため、確認の前にパスワードをハッシュするのは難しいです。私はコードを見て、DigestVerifierはMD5で秘密をハッシュするロジックを持っているようです。ただし、これにはアルゴリズムとwrappedAlgorithmを設定する必要があります。 wrappedAlgorithmは簡単ですが、アルゴリズムの設定が容易ではありません。 DigestAuthenticatorを拡張してアルゴリズムを設定しましたが、動作しません。あなたのトリックは単純に別のクライアントを使うか、またはrestletを使って作業しましたか?ありがとう – Rhand