我有一个网络应用程序,我想使用用户的Facebook或Google + / Google App帐户添加单点登录功能。
我有一个USERS
表,用于存储用户的登录信息。无论是否使用FB或Google +注册,所有用户都必须在此表中拥有记录。
我想弄清楚我需要存储在数据库中的信息,以便将USERS
表记录链接到FB或Google信息。
Facebook documentation states:
应用应将令牌与
user_id
一起存储在数据库中 识别它。
我应该创建一个名为SSO_LOOKUP
的表,其中包含以下列:
USER
表答案 0 :(得分:1)
对于SSO登录,您必须拥有user_id和一些基本详细信息,以便您连接到FB或谷歌
这些是您可以添加的最小字段,甚至可以帮助您扩展应用。从某种意义上说,如果你想从谷歌和FB那里拉取或推送数据,那么Access_token和unique_id会对你有帮助。
此外,如果您想查看某些发布源,那么您可以在github上看到一些代码,例如 django-social-auth
有关详细信息,请参阅google documentation和Google OAuth2
希望这会有所帮助。
答案 1 :(得分:0)
从技术上讲,您真正需要存储的是Refresh Token
和某种标志类型标识符,它会告诉您它是Facebook还是Google刷新令牌。然后,您可以查询API以获取所需的信息。存储用户ID是一个好主意,因为如果他们退出,那么即使刷新令牌已经改变,你仍然会知道它是谁。其他任何东西都有点过分杀人,因为当你拨打电话时,无论如何你都会从API获取信息。
如果您想要存储名称和最近的图片,您可以在获取信息之前显示它们。然后在您第一次访问API后更新对数据的任何更改。但它基本取决于你如何设计东西,以及我们在这里谈论的是什么样的应用程序。