试图保护身份验证,以Twitter的和返回到http://Localhost:port
题
我试图保护身份验证叽叽喳喳,它随后返回,回到我们的localhost:port(eg. http://localhost:6969).
我还试图使用Linq2Twitter.当我试图和设置我的应用程序在叽叽喳喳,它不允许我设置的
- 应用程序的网站。
- 网站。
- 回调的网址。
因此,我怎样才能让twitter保护身份验证对我localhost发展机?
编辑:我暗中希望 AArnott 会发现/阅读这篇文章:)
编辑2:
现在,安德鲁公布他的想法,我们添加一些更多的信息,以获得更多一些澄清的这一答复。
所以如果是这样的代码(不是我顺便说一句,但一些雇会的枪在这里工作)重定向到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);
}
就是这地方我会 劫持 回调的网址。...?
解决方案
答案可能会让你大吃一惊...
给Twitter任何回URI其许可证(可能是URL你想象一下使用的生产)为你的护身份验证客户注册页。
当你把你的护身份验证未经授权令的请求时,可以选择提供一个回调URL在那个时候,这Twitter会更喜欢使用的替代。你可以供本地和那时它完美的作品。
因为你使用LinqToTwitter,在内部使用DotNetOpenAuth,有没有必要指定'localhost'当你发行你的授权请求SP。DotNetOpenAuth自动地看到你在localhost和发回调URI。
更新:而且可以肯定你正在运行的最新版本的LinqToTwitter(至少变更集56159...最近释放v1。11条)。否则你就使用保护身份验证1.0和Twitter忽略该回调网址发出的授权请求对于保护身份验证1.0客户。
其他提示
即使我是越来越401错误。。但其解决..在注册申请到twitter你需要给予回调url...喜欢 http://localhost:8080.
我已经这样做了使用java...因此我的代码是:串CallbackURL="http://localhost:8080/tweetproj/index.jsp";供应商。retrieveRequestToken(消费者,CallbackURL);
在tweetproj是我的项目的名称和指标。jsp只是一个jsp页面...
希望这可以帮助u...