13

私はPHPでOpenIDコンシューマーを開発しており、素晴らしいLightOpenIDライブラリ(http://gitorious.org/lightopenid)を使用しています。サンプルクライアントスクリプトにあるコードに基づいて、コンシューマーを正常に作成しました。しかし、私は問題に遭遇しました:Googleはとをに設定する必要がopenid.identityあります(ここを参照)。私がそうすると、それは機能しますが、他のプロバイダー(つまり、AOL)は機能しません。openid.claimed_id"http://specs.openid.net/auth/2.0/identifier_select"

これが私の質問です:

  1. identifier_selectGoogleはコーナーケースですか-OpenIDの仕様に反して、必要なOpenIDプロバイダーはGoogleだけですか?
  2. LightOpenIDライブラリに欠点はありますか?
  3. OpenIDがどのように機能するかについての私の理解は正しくありませんか?
  4. 必要なプロバイダーがGoogleだけではない場合、identifier_selectハードコーディングするプロバイダーは限られていますか、それともOpenID仕様でこれを判断する方法はありますか?

私はOpenIDの内部に慣れていないので、これがばかげた質問であっても驚かないでしょう。インターネットを調べた後、私はこの主題に関する情報を見つけることができませんでした。

4

3 に答える 3

7

LightOpenID の作者はこちら。

  1. 仕様で許可されているため、おそらくそれだけではありません(他の回答はYahooに言及しています)
  2. いいえ、ありません。LightOpenID はこれをサポートしています。(ライブラリのexample-google.phpを参照してください)。
  3. 検出 URL を知る必要があるため、プロバイダーを知る必要があります。または、ID としてhttps://www.google.com/accounts/o8/idを入力するようにユーザーに指示します。

この回答は、この質問が行われた後にプッシュされた私のライブラリの最新バージョンに関するものであることに注意してください。まだこの問題に苦しんでいる人は、最新バージョンをダウンロードしてください

于 2010-06-15T19:25:14.250 に答える
6

Google は仕様に矛盾していません。OpenID 2.0 仕様では、identifier_select フローが完全に許可されています。これにより、「指示されたアイデンティティ」と呼ばれるものが有効になります。Google は、実際にその機能を実行する唯一の注目すべき OP (私が知っている) です。

はい、完全かつ適切に実装された OpenID RP ライブラリは、Google (および同様の他の OP) が identifier_select を必要とすることを自動的に認識します。使用しているライブラリについては申し訳ありませんが、おそらく OpenID の不完全な実装であるため、悲しみを引き起こしているようです。

ところで、AOLidentifier_select をサポートしています。

于 2010-06-11T03:50:47.830 に答える
0

これは、OP ドリブン ID 選択モードでの認証に使用されます。あまり一般的ではありませんが、まれなケースではありません。私が使用しているすべての OP プロバイダーの中で、Google と Yahoo がこれを必要としていることに気付きました。

これは、OpenID 2.0 で Directed Identity をサポートするために必要です。基本的に、Web サイトごとに異なる OpenID を取得します。プライバシー擁護者によってこのモデルへの移行が推進されているため、遅かれ早かれこれをサポートする必要があると思います.

于 2010-06-10T19:31:26.367 に答える