1

この質問に従って、私はCodeIgniterと OAuth 2 を使用して、webapp の内部ユーザーに SSO を提供しようとしています。理想的には、Google Apps アカウントに対してそれらを検証しています。登録も何もなく、既存のユーザーだけです。

CI oauth2 sparkを使用して、Google から以下のような OAuth トークンを取得しています。

OAuth2_Token_Access Object
 (
   [access_token:protected] => dp83.AHSDj899sDHHD908DHFBDjidkd8989dDHhjjd
   [expires:protected] => 1349816820
   [refresh_token:protected] => 
   [uid:protected] => 
 )

そのトークンを使用して、Google からユーザー情報を取得できます。

[uid] => 3849450385394595
[nickname] => this_guy
[name] => This Guy
[first_name] => This
[last_name] => Guy
[email] => this.guy@example.com
[location] => 
[image] => 
[description] => 
[urls] => Array
    (
    )

現在 webapp を使用している 15 人ほどの人がログインできるようにするにusersは、mysql データベースにテーブルを作成し、電子メール アドレスをキーにする必要がありますか? 次に、Google OAuth リクエストから戻ってきたばかりのメールを比較して、usersテーブルに存在するかどうかを確認しますか?

Google access_token はどうですか? users テーブルに既に存在する電子メールと共に保存しますか?

関連: 今後、その access_token に対してユーザーを自動的に検証して、Google との OAuth 承認プロセス全体を再度実行する必要がないようにするにはどうすればよいですか?

4

1 に答える 1

0

アクセス トークンは変更されるため、データベースに保存しても意味がありません。有効期限が切れる(ユーザーがログアウトする)と、役に立たなくなります。アクセスを管理するために、最初の認証から返された一意の ID を保存できます。最初の認証後に OAuth を回避する方法を知りたい場合は、その目的が無効になるため、それは不可能だと思います。

于 2013-01-12T14:12:55.243 に答える