令牌授权仅在生产

时间:2016-07-09 20:25:25

标签: c# asp.net oauth response

我实现了一个OAuth登录流程,当我在ASP.Net应用程序中的本地环境中运行时,该流程非常有效。

但是,当我在外部服务器上发布我的api时,会发生一种奇怪的行为。

看看发生了什么,我发布了api,用我的手机登录我的应用程序,一切看起来都不错。如果我关闭应用程序20分钟并将其打开,则所有内容都会重新加载,我的访问权限仍然被授予。现在,如果我关闭应用程序一小时并尝试将其打开,我会收到错误400.即使是401也未经授权访问。

我检查了什么:

  1. 我确实检查了应用程序的缓存是否被清除,但是否定,令牌仍在内存中并成功发送。
  2. 也许我的令牌有一个很短的失效日期,但你可以在设置中看到它的12小时

    OAuthAuthorizationServerOptions OAuthServerOptions = 
       new OAuthAuthorizationServerOptions()
    {
        AllowInsecureHttp = true,
        TokenEndpointPath = new PathString("/Token"),
        AccessTokenExpireTimeSpan = TimeSpan.FromHours(12),
        Provider = new SimpleAuthorizationServerProvider(),
        RefreshTokenProvider = new SimpleRefreshTokenProvider(),
    };
    
  3. 我甚至实现了刷新令牌系统,所以如果令牌无效它刷新令牌,再次,它在dev中工作。但在生产中,它只能工作20分钟,然后我得到错误400。

  4. 我很确定它与服务器的缓存有关,我想上下文正在被清除。

    所以我的问题是:有没有人得到类似于这个的情况以及解决方案是什么?

0 个答案:

没有答案