使用Twitter oAuth授权,您如何指定Twitter用户名?

时间:2010-09-07 19:26:52

标签: oauth twitter

开发我在Twitter注册的Web应用程序。在这个应用程序中,我可能有10个不同的Twitter身份,我想要允许或拒绝应用程序访问。

例如:

https://api.twitter.com/oauth/authorize?oauth_token=XXXXXXXXXXXXXXXXXXXXXXXX&oauth_callback=http:://localhost:24649/TwitterIdentity/GetTwitterAuthorizationCallback/

它总是默认为我的Twitter帐户登录的任何内容,我必须指定Logout,然后使用新帐户登录。它几乎就像我需要一个额外的查询字符串参数,如

https://api.twitter.com/oauth/authorize?oauth_token=XXXXXXXXXXXXXXXXXXXXXXXX&oauth_callback=http:://localhost:24649/TwitterIdentity/GetTwitterAuthorizationCallback/&安培; ForUsername =比尔·盖茨

2 个答案:

答案 0 :(得分:3)

实际上,您可以使用回调网址传入额外的参数,如下所示:

https://api.twitter.com/oauth/authorize?oauth_token=XXX&oauth_callback=http:://localhost:24649/TwitterIdentity/GetTwitterAuthorizationCallback?ForUsername=billgates

当Twitter调用返回URL时,参数将被发送给您,如下所示:

http:://localhost:24649/TwitterIdentity/GetTwitterAuthorizationCallback?ForUsername=billgates&oauth_token=XXX&access_token=YYY

您可以在文档中了解更多相关信息 - http://dev.twitter.com/pages/auth

  

始终使用显式的oauth_callback    - 建议您在客户端中指定默认的OAuth回调   记录,但明确声明你的   每个请求令牌上的oauth_callback   获取您的应用程序的请求。   通过动态设置您的   oauth_callback,你可以通过   其他州信息回复   您的应用程序并控制   体验最好。

答案 1 :(得分:1)

请注意,在一般授权范围内,授权代理不一定知道代理其行为的用户的身份。换句话说,可能存在一种实现,其中您的应用程序可以被授权读取Twitter更新流,同时仍然不知道该流属于哪个标识。在这种情况下,添加您要求的参数将是信息泄露,因为您的应用程序将需要系统设计不提供的信息。

或者说它是一个现实生活中的例子 - 想象一下代客泊车,而不是给你一张停车票并把钥匙交给汽车,代客会问你的SSN只是为了停车,只是因为代客也为其他人停车。