用于存储FB或Google 的SSO信息的数据库表结构



我有一个Web应用程序,我想使用用户的Facebook或Google/Google App帐户在功能上添加单个符号。

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

我正在尝试找出我需要存储在数据库中的信息,以将USERS表记录链接到FB或Google信息。

Facebook文档指出:

该应用程序应将令牌与user_id一起存储在数据库中 识别它。

所以我应该创建一个名为SSO_LOOKUP的表,并使用以下列:

  • user_id//链接到我的USER表的用户ID
  • provider_id//用户的FB或Google帐户ID
  • provider_type//指示是否是Google,FB,Twitter等。
  • access_token

sso登录肯定您需要拥有user_id和一些基本详细信息,这些细节允许您连接到FB或Google

  • 提供者:"它将是FB或Google或其他任何东西"
  • 令牌:"我们从FB和Google那里收到的这个令牌。在FB的情况下在3个月左右的时间内到期据我所知
  • token_expired :"就像fb代币在一段时间后到期,以便您可以拥有如果您需要在那个持续时间刷新它"
  • user_id :"这是您的用户ID:
  • uniqueID :"这是您将从FB和Google获得的唯一ID。这有助于在FB/Google中识别您的用户"

这些是您可以添加的最小字段,这些字段甚至可以帮助您扩展应用程序。在某种意义上

也不想查看一些发布源,然后您可以在github上查看一些代码。django-social-auth

有关一些详细信息,您可以参考Google文档和Google oauth2

希望这会有所帮助。

从技术上讲,您真正需要存储的只是Refresh Token和某种标志类型标识符,它告诉您其是Facebook还是Google Refresh代币。然后,您可以查询API中的任何信息。存储用户ID将是一个好主意,因为如果他们注销,那么您仍然会知道它是谁,即使刷新令牌已更改。其他任何事情都会过度杀死,因为当您拨打电话时,无论如何您都会从API中获取这些信息。

,如果您想在此处获取信息之前,您可以在此处存储的名称和最新图片。然后在第一次访问API后更新数据的任何更改。但这基本上取决于您如何设计东西,以及我们在这里谈论的应用程序。

最新更新