4

ユーザーが Google にログインしているかどうかを Web サイトで自動的に検出したい。存在する場合は、データベースをチェックして、それらが既に登録されているかどうかを確認します。登録されている場合は、私のサイトにログインします。それ以外の場合は、ログイン ページにリダイレクトされます。

実験的な x-has-session かもしれないと思いますが、実装方法がわかりません。JanRain OpenID PHP ライブラリを使用しています。

レスポンスが高く評価されました!

4

1 に答える 1

1

JanRain と Zend Framework を使用して、これとまったく同じことを書きました。これも Facebook で行いました。

  1. ユーザー名、電子メール、およびパスワードを使用する通常の登録システムを作成する必要があります。また、通常のセッション ベースのログインと同様に、Cookie を使用してトークンを保持し、ログイン フォームにある種のログイン状態維持機能を実装します。
  2. https://www.google.com/accounts/o8/id次に、 JanRain OpenIdを使用して対話するスクリプトにリンクする Google ログイン リンクを作成します。
  3. Google からの応答から、名前、姓、および電子メールを取得できます。これを使用して、通常の登録ユーザーの場合と同様にユーザー テーブルに入力します。ただし、この場合、ユーザー名とパスワードは NULL になります。このユーザーがテーブルに表示されたら、Stay Logged In Cookie を設定します。
  4. Google ユーザーが戻ると、通常のログイン状態維持機能を使用して既にログインしています。
  5. ログアウト ページでセッションがクリアされ、Stay Logged In cookie トークンが削除されます。

誰かが Google を使用してログインし、ログアウトして、後日 Google を使用して再度ログインした場合に何が起こるかを検討する必要がある場合があります。毎回新しいユーザーを登録するのではなく、ユーザー テーブルでそのユーザーを確認し、そのユーザーの行を Google からの結果と照合する必要があります。

于 2010-09-09T10:39:30.397 に答える