Mysql CodeIgnither OAuth 2.0用户和访问令牌的数据库设置

Mysql CodeIgnither OAuth 2.0用户和访问令牌的数据库设置,mysql,codeigniter,oauth,Mysql,Codeigniter,Oauth,我正在使用CodeIgniter和OAuth 2,试图为我的webapp的内部用户提供SSO,理想的情况是根据他们的Google Apps帐户验证他们。没有注册或任何东西,只有现有用户 使用CI,我从Google获得一个OAuth令牌,如下所示: OAuth2_Token_Access Object ( [access_token:protected] => dp83.AHSDj899sDHHD908DHFBDjidkd8989dDHhjjd [expires:protect

我正在使用CodeIgniter和OAuth 2,试图为我的webapp的内部用户提供SSO,理想的情况是根据他们的Google Apps帐户验证他们。没有注册或任何东西,只有现有用户

使用CI,我从Google获得一个OAuth令牌,如下所示:

OAuth2_Token_Access Object
 (
   [access_token:protected] => dp83.AHSDj899sDHHD908DHFBDjidkd8989dDHhjjd
   [expires:protected] => 1349816820
   [refresh_token:protected] => 
   [uid:protected] => 
 )
使用该令牌,我可以从谷歌检索一些用户信息:

[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个人登录,我是否需要在mysql数据库中创建一个
users
表,并将他们的电子邮件地址作为密钥?然后比较刚从Google OAuth请求返回的电子邮件,看看它是否存在于我的
用户
表中

Google access_令牌呢?我现在是否将其与已经存在于用户表中的电子邮件一起存储


相关:我如何在将来根据该访问令牌自动验证用户,这样他们就不必再次通过谷歌的整个OAuth审批流程?

访问令牌会发生变化-因此,不,将其存储在数据库中没有意义。一旦过期(用户注销),它就没用了。要管理访问,您可以存储从初始身份验证返回的任何唯一ID。如果您想知道如何在第一次身份验证之后避免OAuth,我认为这是不可能的,因为这会破坏它的目的