Twitter身份验证问题

时间:2010-10-14 04:01:47

标签: python oauth twitter

我有两个问题(这是否违反礼仪?)围绕Twitter身份验证。

第一个问题是这个。我想存储我收到的访问令牌,但它是一个字典对象。我是存储整个字典对象还是仅存储一些相关部分。

其次,我想知道如何将用户注销。我发现这个链接可以帮助用户退出Facebook - 对于Twitter有什么类似的东西(或者这个退出方法是个坏主意)http://m.facebook.com/logout.php?confirm=1&next=

2 个答案:

答案 0 :(得分:2)

您需要了解的是OAuth协议没有定义“登录”和“注销”概念,这些概念是您的应用程序所固有的。 OAuth是一种协议,允许消费者(您的应用程序)访问资源提供者(在本例中为Twitter)存储的资源所有者(您的一个用户)数据。

  

我是否存储整个字典对象或仅存储一些相关部分。

据我所知,您只需要存储访问令牌,以便能够继续向服务器查询您请求的资源(请求新资源可能需要获取另一个访问令牌)。请记住,此令牌可能会过期,并且可能会在任何时候由用户直接通过Twitter撤销,并且在您不知情的情况下。这是在OAuth中设计的。

  

我想知道如何记录用户

OAuth中没有“会话”,这是与您的应用程序相关的概念。

答案 1 :(得分:1)

您需要访问令牌密钥和密码才能访问API。只要你以某种方式存储它,它如何存储并不重要。您提供访问权限的应用程序将具有存储数据的方法。除非您要创建新的OAuth应用程序或添加对现有应用程序的支持。在这种情况下,您将需要使用该语言的惯用(正确方式)的任何键/值系统来存储密钥和密钥(即,用于python的pickling或配置文件)。

获得密钥和密钥的消费者(应用程序)将代表用户访问Twitter。

要撤消特定访问密钥,请以用户身份登录Twitter,然后转到http://twitter.com/settings/connections。具有有效访问令牌的每个应用程序都列在该页面上,可以撤消。消费者并不像用户那样真正登录,他们使用访问密钥和密钥进行身份验证。