Pur*_*ome 7 .net twitter oauth localhost
我正在尝试OAuth到Twitter,然后它返回我们的localhost:port(例如http:// localhost:6969).
我也在尝试使用Linq2Twitter.当我尝试在Twitter上设置我的应用程序时,它不允许我设置
那么,我如何针对我的localhost开发机器进行twitter OAuth?
编辑:我暗地希望AArnott会发现/阅读这篇文章:)
现在安德鲁发表了他的想法,我正在添加更多信息,以便对此回复进行更多澄清.
所以,如果这是示例代码(不是我的btw,但有些雇用枪,在这里工作)重定向到SP(这是Twitter,在这种情况下......)
public void StartOAuthAuthorize()
{
string link = twitterContext.GetAuthorizationPageLink(false, false);
var uri = new Uri(link);
NameValueCollection urlParams = HttpUtility.ParseQueryString(uri.Query);
OAuthToken = urlParams["oauth_token"];
HttpContext.Current.Session["twitterService"] = this;
HttpContext.Current.Response.Redirect(link);
}
Run Code Online (Sandbox Code Playgroud)
这将是我将劫持回调网址的地方....?
答案可能会让你大吃一惊...
为您的 oauth 客户端注册页面提供 Twitter 允许的任何回调 URI(可能是您想象在生产中使用的 URL)。
当您发送 OAuth 未经授权的令牌请求时,您可以选择当时提供回调 URL,Twitter 更愿意使用该回调 URL。那时你可以提供 localhost 并且它工作得很好。
由于您使用的是 LinqToTwitter(它内部使用 DotNetOpenAuth),因此当您向 SP 发出授权请求时无需指定“localhost”。DotNetOpenAuth 自动发现您位于本地主机并发送该回调 URI。
更新:并确保您正在运行最新版本的 LinqToTwitter(至少更改集 56159...比版本 v1.11 更新)。否则,您使用的是 OAuth 1.0,并且 Twitter 会忽略 OAuth 1.0 客户端授权请求中发送的回调 URL。
| 归档时间: |
|
| 查看次数: |
4959 次 |
| 最近记录: |