Facebook graph api 用于存储FB或Google+的SSO信息的数据库表结构;

Facebook graph api 用于存储FB或Google+的SSO信息的数据库表结构;,facebook-graph-api,oauth,single-sign-on,google-oauth,Facebook Graph Api,Oauth,Single Sign On,Google Oauth,我有一个web应用程序,我想使用用户的Facebook或Google+/Google应用程序帐户添加单一登录功能 我有一个存储用户登录信息的USERS表。所有用户都必须在此表中记录,无论他们是使用FB还是Google+注册的 我试图找出需要存储在数据库中的信息,以便将用户表记录链接到FB或Google信息 Facebook: 应用程序应将令牌与用户id 来识别它 因此,我应该创建一个名为SSO\u LOOKUP的表,其中包含以下列: 用户ID//链接到我的用户表的用户ID 提供者ID//用户的

我有一个web应用程序,我想使用用户的Facebook或Google+/Google应用程序帐户添加单一登录功能

我有一个存储用户登录信息的
USERS
表。所有用户都必须在此表中记录,无论他们是使用FB还是Google+注册的

我试图找出需要存储在数据库中的信息,以便将
用户
表记录链接到FB或Google信息

Facebook:

应用程序应将令牌与
用户id
来识别它

因此,我应该创建一个名为
SSO\u LOOKUP
的表,其中包含以下列:

  • 用户ID//链接到我的
    用户
    表的用户ID
  • 提供者ID//用户的FB或Google帐户ID
  • PROVIDER\u TYPE//表示是否为Google、FB、Twitter等
  • 访问令牌

从技术上讲,您真正需要存储的是
刷新令牌和某种标志类型的标识符,它告诉您是Facebook还是Google刷新令牌。然后,您可以查询API以获取所需的任何信息。存储用户Id将是一个好主意,因为如果他们注销,那么即使刷新令牌已更改,您仍将知道用户Id是谁。其他任何事情都有点过头了,因为不管怎样,当您进行调用时,您都会从API中获得这些信息


若你们想在那个里存储你们的名字和最新的图片,你们可以在你们获取信息之前把它们显示出来。然后在首次访问API后更新对数据的任何更改。但基本上取决于你想如何设计东西,以及我们在这里讨论的是什么样的应用程序。

对于SSO登录,你肯定需要有你的用户id和一些基本细节,让你可以连接到FB或谷歌

  • 提供商:“未来可能是FB或谷歌或任何东西”
  • 代币:“我们从FB和谷歌收到此代币。如果是FB,则为 大约3个月后到期,因为谷歌没有到期 据我所知”
  • token_expired:“如FB token在一段时间后过期,因此您可以 如果在该持续时间后需要刷新此标志,则此标志将处于适当位置“
  • 用户id:“这是您的用户id:
  • uniqueid:“这是您将从FB和谷歌获得的唯一ID。 这有助于在FB/Google中识别您的用户”
这些是您可以添加的最小字段,甚至可以帮助您扩展应用程序。从某种意义上说,如果您当时想从google和FB拉取或推送数据,访问\u令牌和唯一\u id将帮助您

另外,如果你想看到一些发布源代码,那么你可以在github上看到一些代码,例如。

有关详细信息,请参阅和

希望这会有所帮助