我有一个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后更新数据的任何更改。但这基本上取决于您如何设计东西,以及我们在这里谈论的应用程序。