开发我在Twitter注册的Web应用程序。在这个应用程序中,我可能有10个不同的Twitter身份,我想要允许或拒绝应用程序访问。
例如:
它总是默认为我的Twitter帐户登录的任何内容,我必须指定Logout,然后使用新帐户登录。它几乎就像我需要一个额外的查询字符串参数,如
https://api.twitter.com/oauth/authorize?oauth_token=XXXXXXXXXXXXXXXXXXXXXXXX&oauth_callback=http:://localhost:24649/TwitterIdentity/GetTwitterAuthorizationCallback/的&安培; ForUsername =比尔·盖茨
答案 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只是为了停车,只是因为代客也为其他人停车。