最佳实践 - 存储Twitter凭据还是不存储?

3
我希望能够让我的用户在我的网站上展示他们最近的推特。我已经有了一个PHP推特包装器并且知道如何进行API调用,但是我想知道如何管理用户信息。
这里有一些最佳实践:
- 我希望用户只需要输入一次凭据,但是我不认为存储每个人的用户名/密码是最好的方式。 - 是否有一种方法可以进行身份验证,然后让推特记住它? - 应该存储用户名/密码,然后只在显示推文时进行调用吗?
如果您有任何建议,请告诉我。谢谢!
4个回答

12

使用OAuth,无需询问用户密码:

http://apiwiki.twitter.com/Authentication

我认为每个人都会/应该同意存储Twitter用户名/密码是不好的,我无法相信他们曾经创造了需要这些信息的情况。


3
您绝不能存储任何未加密的凭据,无论是什么类型的。如果您的解决方案涉及保留明文密码,即使只是短暂的时间,您也需要重新设计一下。最好的做法是不要自己保存任何信息-使用cookie或OAuth来处理身份验证。会话令牌或cookie可以随时由用户禁用,使他们对您网站的行为有控制权。其次的最佳做法(虽然仍然不太理想)是保留不可逆加密凭据以便在需要显示推文时重新发送给Twitter。

3

除非他们的个人资料被锁定,否则您不需要他们的密码即可获取他们的最新推文,只需从http://twitter.com/statuses/user_timeline/用户名.rss中提取源。

您应该查看Twitter的OAUTH支持(尽管他们已经禁用了它)。这使您能够提示用户一次,然后存储来自Twitter的响应,从而允许您发布。


0

通常情况下,您想要在网站上发布的推文都是公开的。

如果您确实需要在用户的帐户上进行身份验证(例如允许用户代表自己发送新推文),最佳做法是在初始身份验证时提示用户,然后存储资源返回的任何身份验证令牌,而不是用于获取它的凭据。


并非所有的推文都是公开的。许多用户将其账户锁定,只允许他们自己和已批准的关注者查看。 - Tim
好的,阅读时我只需要用户名。那么我猜我只需要身份验证才能发布到该帐户? - barfoon
澄清。第二段才是重点。 - Joel Coehoorn
好的,否则他们可能会输入另一个用户名,并在其个人资料上显示该人的推文,这不是我想要的。但我会研究OAuth。 - barfoon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接