2011-09-28 13 views
7

私はあなたのプロジェクトでOpenIDを実装することの概念と利点を理解しようとしています。また、私はJava開発者であるため、主なJava実装であるopenid4javaの理解に多かれ少なかれ関心があります。OpenID Architecture for Java

私の理解では、OpenIDは統一された方法で分散IDをプロビジョニングするための標準です。今、それが完全に(またはわずかに)間違っているなら、私を修正してください!

私がまだ進んでいるとすれば、MySpaceなどのすべての種類や組織が、OpenIDを使用していることがわかります。MySpaceは、それぞれのユーザーをhttp://www.myspace.com/usernameというURLで識別します。

OpenIDはどのようにシステムとして機能しますか? DNSマシンと同様に、システム内のすべてのIDが一意であり、特定のパターンに一致するように調整する「OpenIDサーバー」のネットワークとして現れますか?または、使用するアルゴリズムは、GUIDのように、各クライアントドメイン(MySpaceなど)に対してグローバルに一意のIDを生成するアルゴリズムです。

私は、OpenIDが実際にどのように現れているか、openid4javaのようなフレームワークがその "兆候"とどのように関係しているのか理解していません。 (その用途は何ですか?)

答えて

3

まず、OpenID通信の2つの側面、つまりプロバイダとコンシューマがあります。コンシューマはOpenIDを使用して認証しようとするアプリケーションであり、プロバイダは認証要求が送信されるサーバです。

各プロバイダには、認証要求を受け入れるいわゆるEndpoint-urlがあります。 OpenIDプロバイダをサポートするには、あらかじめURLを知っておく必要があります。最初に、特定のopenIdのエンドポイントを見つけ、そのプロバイダとメッセージを交換する必要があります。これはすべてopenid4java ConsumerManagerにラップされています。

次に、ユーザーがプロバイダーのURLにリダイレクトされ、ユーザーが自分のアカウント(ログインする必要がある)を使用してログインすることを確認した後、プロバイダーはあなたにリダイレクトしてから、ユーザーの情報をリクエストしました(別のリクエストを介して)

+0

ありがとう@Bozho!だから、openid4javaのようなものは、OpenSSOのようなSSOフレームワークでどのように動作しますか?そこには「分業」とは何ですか? – IAmYourFaja

+0

正直なところ - 私は知らない:) – Bozho

+0

見つかった[this](http://www.alleged.org.uk/pdc/2007/08/13.html)の記事。 SSOおよび/またはOpenIDのいずれかで既に経験があります。私にとって、それは意味のある束を作っていませんが、別の研究努力のためにそれを保存します;-)あなたの答えにもう一度感謝します – IAmYourFaja