0

Web アプリケーションで openid 認証を使用しています。2 つのテーブルがあります。1 つは任意の user_id に対して複数の openid_url を格納するためのもので、openid を主キーとして使用します。

user_id を主キーとするユーザーの詳細を含む別のテーブルがあります。

認証が機能し、その後、返された URL が openid テーブルで使用できるかどうかを確認します。そこにない場合は、ユーザー作成フォームにリダイレクトします。URL が存在する場合、ユーザーは元のページにリダイレクトされます。しかし、Google認証後にメールIDに対して返されたURLが、前日にdbに保存された値と一致しないという奇妙な問題に直面しています。

何かが欠けているのか、それとも openid 2.0 で何か他のものを使用する必要があるのか​​ わかりません。

この時点での手がかりは高く評価されます。

編集:

探している情報を扱うスレッドがもう 1 つありました。 Google の OpenID 実装の ID が変わるのはなぜですか?

4

2 に答える 2

3

Google では、すべてのサービス プロバイダ (中継者) に一意の識別子を使用します。

一貫した openid.realm を使用していることを確認してください。それはあなたの側のプロトコルとドメイン名です. 例: https://stackauth.com

「www.」の使用を混在させる場合。プレフィックスを使用するか、使用しないか、http または https を混在させると、Google はあなたを別個のサービス プロバイダーと見なし、同じユーザーに対して異なる ID を提供します。

于 2011-04-24T13:03:11.310 に答える
0

私は多くのドキュメントを徹底的に調べましたが、Google の場合にのみユーザー ID として電子メールを使用します。これは、任意のサイト、任意のドメインに固有の 1 つの属性です。

于 2011-04-25T07:59:44.587 に答える