サードパーティの認証を使用するアプリケーションのパスワード?
-
13-09-2019 - |
質問
私はちょうど RPX のサードパーティ製の連携アイデンティティシステムを統合しているにASP.NET MVCアプリケーションを持っています。統合がOK取り組んでいるが、私はASP.NETレベルでそれをどうするかのまわりで私の頭をラップするいくつかの困難を抱えています。
アイデンティティが外部に処理されるため、、私は私のアプリでパスワードを必要としない:私はちょうど自分のアイデンティティ、ユーザのパスワードを受け取ることはありません。しかし、ASP.NETメンバシッププロバイダのものは
など、パスワードがユーザを作成するために、周りに渡され、利用者の署名が必要です私は、作成時にnew Guid()
を使用して検討してきたが、これは私がメンバシッププロバイダ経由でユーザーに署名することができる前に、ユーザーのパスワードを取得するためにデータベースへの呼び出しを必要とします。私はそれが事前に知られていますように、各ユーザーに同じパスワードを使用することができますが、私は、これは私のユーザーのデータが安全でないになるだろうと心配です。
私は他のサイトがこの問題、例えば、StackOverflowのを処理する方法を聞いて興味があると思います。
[また、このようなアプリのメンバーシッププロバイダーについては、をhref="https://stackoverflow.com/questions/994051/">参照してください。
解決
私はこれは私のユーザーのデータが安全でないになるだろうと心配です。
誰もがユーザ名とパスワードを使用して、データベースに対して直接認証できることを確実にすることによって開始します - 私は、これはすでにあなたが実際の認証を行うためにRPXを使用しているように、ケースで想像し、あなたは一度だけASP.NETメンバシッププロバイダを呼び出していますあなたはすでに、ユーザーのアイデンティティを確立しています。
それは秘密ではないので、次に、あなたの側に保存されたパスワードは、軽微となり - 私が誰かのパスワードがあなたの側にあるものをうまくできるかどうか、私はまだことを使用してログインすることはできませんので、それは突然、自分のデータを損ないません情報。利用者の秘密はあなたを、サードパーティのプロバイダによって管理されていません。
あなたが同様に最も便利なものを保存するかもしれないので(すなわち、よく知られたダミー値) - あなたにも、サーバー上のいくつかのサイクルを取り戻すために、メンバーシッププロバイダーにだけでなく、パスワードの暗号化をオフにすることがあります。誰の身元を確認するために使用されていない値をハッシュ/暗号化するにはポイントます。
他のヒント
なぜ、asp.netメンバーシップを使用できますか?それは本当にあなたがサードパーティの認証である何をしているか、あなたに合いません。彼らは、従来のASPを持っているとして、たぶん、あなたは dotnetopenidプロジェクトと例を見ている可能性があります。あなたは、MVCのために修正することができるネットサイトの例?彼らはここにのウィキを持っているかもしれないdotnetopenid MVCグーグル?