【问题标题】:c# mvc 5 Why is my session null?c# mvc 5 为什么我的会话为空?
【发布时间】: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 中保留这些值吗?

这样做有什么问题吗?有更好的方法吗?

【问题讨论】:

标签: c# asp.net-mvc-5 oauth-2.0 twitter-oauth


【解决方案1】:

您是否检查过您的 twitter 的 accessToken 已过期? 我认为它的时间有限,之后您必须再次获得它。 想想自动化获取 accessToken 的时间。

【讨论】:

  • 我正在授权用户并尝试获取访问令牌,所以这不会发生。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-15
  • 1970-01-01
  • 1970-01-01
  • 2012-05-24
  • 2011-11-30
  • 1970-01-01
相关资源
最近更新 更多