在MySQL中存储Twitter OAuth

时间:2009-10-30 18:42:04

标签: mysql twitter oauth

我即将在我的网站上添加一个功能,将内容发布到用户的Twitter帐户。我读到存储“OAuth”令牌比存储用户名和密码更好(这是有意义的)。

我应该在MySQL数据库中存储什么?令牌,秘密和用户名?或者只是令牌?

您会使用哪种数据类型?他们有多大?

谢谢!

2 个答案:

答案 0 :(得分:1)

它们不是很大(可能是15或20个字符,不记得确切),而且是字符串。注意:这可能会改变。 OAuth规范中没有任何内容描述如何生成令牌和秘密,也不描述它们的外观。我希望它们永远都是字符串,但我可能希望使列比当前需要的大一点。

如果将它们存储在数据库中,则需要一些其他方式对用户进行身份验证,以便您知道要提取和使用的令牌,以便不会恶意使用它们。如果你已经拥有它并且它正在工作那么这是有道理的,否则你可能想重新考虑它。

另一种方法是将他们的令牌存储在cookie中,其缺点是(如果你不对它们进行加密或使用SSL),他们正在通过网络进行清除,如果他们更换计算机,浏览器或删除他们的cookie,你必须让他们再次完成整个OAuth流程。

对于没有其他身份验证的网站,我会加密它们并将它们存储在cookie中。如果您已经登录,则将令牌和密钥与登录相关联,并将它们存储在数据库中。

还有其他方法。如果您不想使用加密,则可以使用Cookie中随机生成的ID(如GUID / UUID)指向包含令牌的数据库中的记录。总而言之,这取决于您希望应用程序从用户的角度出发的行为方式。

确保您处理用户取消授权您的应用的情况。

答案 1 :(得分:0)

应用程序密钥和令牌,特定于您的应用程序,可以存储在数据库或某些配置文件中。   您应该使用varchar(100)(最大值)存储到databse的用户令牌以及他的Twitter ID。您可以从Twitter OAuth获取其他详细信息时获取Twitter ID。   如需进一步指导,请点击此链接

http://www.9lessons.info/2010/02/connect-twitter-api-with-oauth-using.html