Oauth - Facebook/Twitter/Foursquare
Posted
技术标签:
【中文标题】Oauth - Facebook/Twitter/Foursquare【英文标题】:Oauth - Facebook/ Twitter / Foursquare 【发布时间】:2011-07-14 19:22:51 【问题描述】:我正在创建一种方法,人们可以将他们的 Fb、Twitter 和 FS 帐户连接到他们在我的应用程序上创建的帐户。我想创建一个表,我可以在其中存储所有需要的东西..
User(id, username, password, email)
Oauth (id, user_id, oauth_provider, ....... )
至于我的理解
Facebook 需要 Facebook id
Twitter 需要 id、token、secret
Foursquare 需要电子邮件和消费者 ID。
只是想确认我在构建 Oauth 表时做得对。
【问题讨论】:
【参考方案1】:我个人为需求值创建了一个名为“setting_parameter”的字段,因为所有这些 API 都需要不同的东西。正如你所说,Facebook 需要 App ID(加上 Token),Twitter 需要 Consumer Key 和 Consumer Secret。
所有这些值我都用 JSON-format 将它们合并为一个字符串。我不会将它们分别放入字段中,因为我认为除了获取它们的值之外,我没有必要查询该表以进行操作。此外,我需要在未来实现其他 API。这就是为什么我不能创建特殊字段的原因,因为我不知道下一次新 API 需要什么样的值。这就是为什么我更喜欢将它们压缩到一个字符串字段中。
我的桌子是这样的Oauth(id, name, setting_parameter, description,...)
【讨论】:
你能举个例子说明你如何将它存储在一个字符串中吗? 如果用户已经拥有该帐户,那么检查数据库是否会很困难? 我正在研究 php(但这个概念也适用于其他语言)。首先,我创建了类似$arr=array('token'=>'somevalue', 'api_id'=>'somevalue');
的数组,然后在将其存储到数据库之前使用 json_encode() 数组现在该字段看起来像这样"token":"somevalue", "api_id":"somevalue"
我不明白为什么会很困难?介意解释更多细节吗?
"fb_uuid":"xxxxxx", "fb_token":"taken_value" 当我想检查值“234213424”的 fb 用户是否返回登录时说。检查数据库中是否有记录然后做必要的事情会不会很困难
啊是的..如果您需要他们的社交网络帐户登录到您的应用程序,那么他们的社交帐户 id 在其自己的字段中会更好(以便在表格中更好地选择)。就我而言,用户已经在我的网络应用程序上创建了一个用户帐户。创建帐户后,他们可以将他们的社交网络连接到我的应用程序,稍后我的应用程序会检索这些信息(例如:token、user_id)并将它们存储到表中并引用表 User 。这就是为什么将所有信息合并到一个字段中对我来说没有问题的原因。以上是关于Oauth - Facebook/Twitter/Foursquare的主要内容,如果未能解决你的问题,请参考以下文章
是否使用 google/facebook/twitter 身份验证登录?还是授权?