【问题标题】:Storing Twitter OAuth in MySQL在 MySQL 中存储 Twitter OAuth
【发布时间】:2011-04-22 08:20:44
【问题描述】:

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

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

您会使用什么数据类型?它们有多大?

谢谢!

【问题讨论】:

    标签: mysql twitter oauth


    【解决方案1】:

    它们不是很大(可能是 15 或 20 个字符,具体记不清了),并且是字符串。注意:这可能会改变。 OAuth 规范中没有任何内容描述如何生成令牌和秘密,也没有描述它们的外观。我希望它们永远是字符串,但我可能想让列比目前应急所需的大一点。

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

    另一种方法是将它们的令牌存储在 cookie 中,这样做的缺点是(如果您不加密它们或使用 SSL)它们在网络上以明文形式传输,并且如果它们更换计算机、浏览器或删除他们的 cookie,您必须让他们再次经历整个 OAuth 过程。

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

    还有其他方法。如果您不想使用加密,您可以使用随机生成的 ID(如 cookie 中的 GUID/UUID)来指向数据库中带有令牌的记录。总而言之,这取决于您希望您的应用程序从用户的角度来看如何表现。

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-12-24
        • 2013-06-10
        • 2011-11-14
        • 1970-01-01
        • 1970-01-01
        • 2010-10-18
        • 1970-01-01
        相关资源
        最近更新 更多