私は現在、私のウェブサイトの1つにOpenIDログインを使用すべきかどうか議論しています。私は既に登録とログインコードが書かれているので、OpenIDは実装するのが難しくなるかもしれませんが、これはちょうど時間を考慮したものです。従来のウェブサイトのユーザアカウントシステムとは対照的に、OpenIDの利点と欠点は何ですか?OpenIDを使用するメリットとデメリットは何ですか?
答えて
利点
あなたはシングルサインオンあちこちのアカウントの多くを持つ人々のために、特に、実際にはかなりクールです持っています。
openidサーバはユーザに関する基本情報を提供し、いつもの基本情報を書き留める必要がなくなります。この意味で、あなたはユーザーに面倒を保存します。
これは従来のユーザー/パス機構をかなり良くしています。同時に両方のシステムを提供するサイトはたくさんあります。
信頼関係を複数の当事者から1人に移動します。現時点では、私が登録しているサイトのいずれかがパスワードをクリアテキストで保存していて、同じパスワードを持っていると仮定して他のサイトでそれを使用しようとしているかどうかわかりません。
委任の技術的利点。あなたは同じプロバイダを使用するよう強制されません。切り替えることができます。あなたはまだ新しいパラダイムを理解していないか、彼らは(多分彼らはそれを持っていますが、彼らは知らない)のOpenIDを持っていない人に、ユーザ/パスワードを提供する必要が
デメリット
。それがあなたが対処しようとしている広範な人々であれば、あなたはそれらを怖がらせることができます。
また、深刻な問題には使用しません。私は私の銀行に私のopenidだけでなく、多くの電子商取引サイトにもログインするように頼んでいます。重要でないものは大丈夫です。
openidプロバイダは、すべての認証要求を受け取るため、ユーザーの習慣を追跡できます。だから私は私の個人的なプロバイダを展開したのです。
最後に、私が見た限りでは、多くのopenidサーバが平文でパスワードを移動していますが、これは私の理解であり、間違っている可能性があります。私は自分のopenidプロバイダを導入しました。私はopenidがhttpとマークされていても、パスワードがhttps経由で転送されるように多大な努力をしました。
私が見る主な利点ですが、あなたの既存のシステムを維持したい、私はパスワードの保存について心配する必要はありません。
多くの人が同じパスワード(または小さなパスワードセット)をすべて使用しているため、私のサイトが侵害された場合(私は十分に熟練していないことを願っていますが、セキュリティは複数層獣なので、余分なセキュリティを追加するものは私の本でいいです)、攻撃者はパスワードを取得できませんでした。
ユーザーにとって、正当な理由ですべてのパスワードを1つだけ持つことができます。彼らは信頼できるOpenID Providerを使用しています.Out IDプロバイダは、Webサイトでインターネット上でどんなトミークッキーやハリーを信じる必要はありません。
SOを例として取り上げると、両方をサポートしています。 OpenIDで自分のGoogleアカウントを使用してログインしていますが、OpenIDにリンクするにはアカウント/ユーザー名が必要です。私はあなたがOpenIDを介したログインだけを許可しているが、あなたのユーザがあなたのサイトをOpenIDサーバとしてログインすることを許可していないと仮定します。
これをクリアするには多くのログイン/ログアウトコードを使用することができます。唯一の違いは、自分のデータベースではなくサードパーティを通じて認証することだけです。擬似コードでは、次のように想像してみてください。
authenticate_from_db(String username, String password)
{
fetch username and password where username = username
if username = username and password = hash_of(password)
{
return true;
}
else
{
return false;
}
}
authenticate_from_openid(String openId_provider)
{
provider = contact_openID_provider(openID_provider)
if(provider)
{
login.username = map(returned_user, your_db)
return true
}
else
{
return false;
}
}
あなた自身が使用されている間はほとんどの認証プロセスが変更されています。
利点は非常に明確である:
- は、ユーザーが自分のOpenIDプロバイダを介して既存のアカウントでログインすることができます。
- 敵対のOpenIDプロバイダ(?スパム)自分のスパムロボットを認証するなど
- その他のセキュリティ:
- 既存のユーザーは、自分のOpenIDプロバイダ
欠点は、(私が想像できる)されて、ログインを必要に応じことができ第三者にユーザーの認証を許可することによる懸念事項
私はOpenIDをサポートしても、既存のユーザーのために何も変更してはならないと強調したいと思います。
OpenIDユーザーはまだアカウントを持っている必要があり、サードパーティを通じて認証されています。
- 1. PhonegapとTitaniumを使用するメリットとデメリットは何ですか?
- 2. Protocol vs Inheritanceを使用するメリットとデメリットは何ですか?
- 3. セレンに "xpath"を使用するメリットとデメリットは何ですか?
- 4. セルフホスティングのメリットとデメリットは何ですか?
- 5. サービスをコンポーネントよりも使用するメリットとデメリットは何ですか?
- 6. ScreenplayパターンをPageオブジェクトに使用するメリットとデメリットは何ですか?
- 7. Oracle Auto Segment Space Managementを使用するメリットとデメリットは何ですか?
- 8. socketioハートビートを使用するメリット/デメリット
- 9. JQueryとGlow JavaScriptライブラリのメリットとデメリットは何ですか?
- 10. Selenium for Javaと.NETアプリケーションのメリットとデメリットは何ですか?
- 11. Perl for OOPのメリットとデメリットは何ですか?
- 12. この2つのJavaScriptパターンのメリットとデメリットは何ですか?
- 13. ajaxリクエストのjson vs xmlのメリットとデメリットは何ですか?
- 14. ビルドGCC:ブートストラップのメリットとデメリットは何ですか?
- 15. Cocoaフレームワーク、ライブラリ、バンドルのメリットとデメリットは何ですか?
- 16. wxPythonのAGW AUIのメリットとデメリットは何ですか?
- 17. Phonegapのメリットとデメリット
- 18. オートファックのメリットとデメリット
- 19. ニューラルネットワークのメリットとデメリット
- 20. オーディオ信号では、サンプルレートを増減するメリットとデメリットは何ですか?
- 21. IPCでSocketを使用するメリットとデメリット
- 22. 統一のメリットとデメリットは?
- 23. html5でタブレット/スマートフォンアプリを構築するメリットとデメリットは何ですか?
- 24. ASP.Netで宣言型メソッドとプログラム型メソッドを使用するメリットとデメリットは何ですか?
- 25. MVCデザインパターン(モデルビューコントローラ)を使用するメリットとデメリット
- 26. リアクティブプログラミングのメリット/デメリット
- 27. リファクタリングツールのメリット/デメリット
- 28. 列名の前に項目名を付けるメリットとデメリットは何ですか?
- 29. MapReduceでより多くのレデューサーを使用するメリットとデメリットは何ですか?
- 30. 引数をAsyncTaskコンストラクタに渡す際のメリットとデメリットは何ですか?
実際、OpenIDは認証要素(彼らが誰であるか)を形成します。アプリケーションのユーザーアカウントは、承認要素(ユーザーができること)を定義します。 –