【发布时间】:2015-05-22 12:40:05
【问题描述】:
所以我正在使用 Twitter API。我的代码如下所示:
public ActionResult AuthorizeTwitter()
{
Response.Redirect(GetRequestToken());
return View();
}
private string GetRequestToken()
{
var twitter = new Twitter(consumer, consumerSecret, oauth_token, oauth_token_secret);
twitter.BaseURI = requestUrl;
var result = twitter.GetRequest("http://localhost:60707/Twitter/GetAccessToken");
string[] resultArray = result.Split('&');
twitter.RequestToken = resultArray[0].Split('=')[1];
twitter.RequestTokenSecret = resultArray[1].Split('=')[1];
var requestToken = Session["oauth_token"] = resultArray[0].Split('=')[1];
Session["oauth_secret"] = resultArray[1].Split('=')[1];
string redirect = authorizeUrl + requestToken;
return (redirect);
}
public ActionResult GetAccessToken()
{
string verifier = Request.Params["oauth_verifier"];
string token = Request.Params["oauth_token"];
string secret = Session["oauth_secret"].ToString();
.....
}
我在我的GetRequestToken 方法中设置了Session["oauth_secret"],当我调试时我发现它很好。
但是,当我到达GetAccessToken 时,该值不再存在并且 Session 为 null。为什么是这样?
另外,一个相关的问题是,我应该在 Session 中保留这些值吗?
这样做有什么问题吗?有更好的方法吗?
【问题讨论】:
-
试试
HttpContext.Current.Session
标签: c# asp.net-mvc-5 oauth-2.0 twitter-oauth