4

このシナリオを考えてみましょう。識別子として使用する独自の Web サイトを持っていますが、こちらで説明されているように、サードパーティの OpenID プロバイダー (私の場合は yahoo) を使用して、stackoverflow や sourceforge などの Relying Party (RP) Web サイトにログインしています。

それは賢明な動きのようでした:

  • 私は OpenID プロバイダーに縛られていません。なぜなら、yahoo がサービスを提供しなくなったり、料金を請求し始めたり、ヤフーを信頼しなくなったりした場合でも、プロバイダーを簡単に切り替えることができるからです。
  • サーバーに OpenID プロバイダーをインストールして維持するための経済的、管理的、およびセキュリティ上の負担がありません。

質問

RP はどのように機能するはずですか? 私の理解では、が 提供する識別子を使用し、プロバイダー (yahoo) を認証にのみ使用する必要があります (識別には使用しません)。あれは正しいですか?最近何か変わった?明確にするために、私の身分証明書は

http://www.mysite.com/myPreferredUrl

そしてそうではない

https://me.yahoo.com/myYahooId (上記の Web サイトで説明されているように、私の Web サイトが認証を「リダイレクト」する場所です)

サイドノート

私がこの質問をしている理由は、現在、物事が壊れているように見えるからです (数か月前は問題ありませんでした)。stackoverflow にログインしようとすると、mysite.com の URL を書きます。ログインした yahoo Web サイトに正しく「リダイレクト」され、「stackoverflow を続行しますか」と尋ねられます。はい、「リダイレクト」し、stackoverflow サイトで「これは今までに見たことのない OpenID です」と表示され、私の yahoo ID が表示され、実際にロックアウトされました!

それはバグですか、それとも何か不足していますか?

PS: 私がこの質問をどのように書いているのか疑問に思っているなら、これは、私が使用している多くのマシンの 1 つに、ブラウザーがまだ有効な Cookie を持っているためです....

編集: 以下の Andrew Arnott の回答は、私の問題を解決する方法を提案しています (つまり、別のプロバイダーに切り替える)。しかし、私はまだいくつかの詳細に興味があります: 委任に関して、OpenID 1.1 から 2.0 で何が変わったのでしょうか? 仕様で、プロバイダーが委任を「解除」できるように選択されているのはなぜですか? 説明すればするほど、回答が受け入れられる可能性が高くなります。

4

2 に答える 2

6

Yahoo が OpenID 委任をサポートしているとは思わない。つまり、StackOverflow やその他の RP は独自の識別子で検出を実行し、委任認証要求を正しくセットアップする可能性がありますが、Yahoo は (おそらく仕様に反して) によって与えられたものではなく、独自の識別子の ID アサーションを送信することを選択している可能性があります。 RP。

仕様は OpenID 1.1 から 2.0 まで変更されていません。仕様は Yahoo! の行動を示唆したり支持したりするものではなく、Yahoo だけがその理由について正式にコメントできます。

StackOverflow 委任は引き続き機能します。ヤフーがあなたを壊したようです。認証を委任する相手を変更して、委任によって購入したものを活用することをお勧めします。たとえば、www.myopenid.com は委任をサポートしています。それを指すように独自の識別子を変更すると、古い自己として再び StackOverflow に戻ることができるはずです。:)

于 2009-05-05T21:40:26.427 に答える
4

アンドリューの答えは非常に正確だと思います。私が付け加えることができる唯一のことは、v2.0 仕様がどのように最終的にどのようになったかについて、プロバイダーが委任を使用しないことを選択できるようになったことについてです。動機の 1 つは、ユーザーが「yahoo.com」を指定する (または Yahoo ボタンをクリックする) だけで、選択した ID が id_res 応答でサーバーから返されるサーバー主導の ID 選択だったと思います。これにより、サーバーは、送信する ID の選択を提供したり (Yahoo のように)、各 RP に一意の識別子を送信したり (Google のように) することもできます。

また、必要な情報がすべて応答に含まれていることも意味します。これは、RP が応答を処理するために要求id_resからの状態を保存する必要がないことを意味します。checkid実際、プロバイダーは、RP が要求でid_res開始することなく、RP に直接応答を送信できます。checkid

v1.x プロバイダーは、委任が夕方に行われたときに完全に認識していませんでした。この設計により、プロバイダーは委任をサポートしないことを選択することさえできなくなりましたが、UI の問題も発生しました。委任された「joesmith.org」ID を実際に使用しているときに、「joe.coolprovider.com」ID を提供するかどうかを尋ねられます。

したがって、トレードオフがあります。委任はまだ可能であるため、委任を本当に必要とするユーザー (実際には、これらの大きなサイトからのユーザーの数よりもはるかに小さくなります) が、必要な機能を提供するプロバイダーを選択できるようになることが期待されていました。(言い換えれば、市場がそれを戦うようにしましょう。)

于 2009-05-20T19:33:51.260 に答える