0

Web サービスを使用する n 層 Web サイトに依存するために OpenId を実装しようとしているとします。いくつかの手順が奇妙に思える場合は教えてください。

1) ユーザーに OpenId の URL をテキスト ボックスに入力してもらいます。例: http://vidalsasoon.myopenid.com

2) 次に、ユーザーが [送信] をクリックすると、入力した URL が OpenId API を使用して Web サービスに送信されます。サーバー上の OpenId API を使用して、適切な OpenId 要求を作成できます。

3) ユーザーは、認証を受ける必要がある URL を受け取ります。

4) ユーザーはプロバイダーにリダイレクトされ、ログインすると、自分の Web サイトにリダイレクトされます。

CONFUSION HERE: ここで、ステップ 2 から 4 がユーザーとプロバイダーの間で発生します。これらの手順では、Web サービスは関与しません。

この時点で、ユーザーに目的のユーザー名と OpenId を Web サービスに送信してもらいたいと思います。問題は、ユーザー/クライアントがそれらを改ざんしていないことをどのように知ることができるかということです?

4

1 に答える 1

0

ユーザーが適切に認証されたことを確認するには、2 つの方法があります。

  1. 自分自身と OpenID プロバイダーの間で共有シークレットを確立します。ユーザーがプロバイダーにログインすると、プロバイダーはシークレットを共有し、プロバイダーはシークレットをあなたと共有します。これを元の共有シークレットに対して検証できます。

  2. OpenID の check_authentication 仕様を通じて。ユーザーが情報を渡したら、確認のためにこの呼び出しを行います。仕様へのリンク

于 2009-07-31T18:02:35.453 に答える