加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-4 – ASP.NET Web API授权令牌提前到期

发布时间:2020-12-16 04:35:33 所属栏目:asp.Net 来源:网络整理
导读:我已经为我的web api(个人帐户)实现了安全性,如 here所述. 我已经在godaddy(共享主机)上托管了该网站,并且其工作正常. 当我使用url“domain.com/token”请求令牌时,我会获得有效期为15天的令牌.我在“StartupAuth.cs”中设置了这个 AccessTokenExpireTimeSpa
我已经为我的web api(个人帐户)实现了安全性,如 here所述.

我已经在godaddy(共享主机)上托管了该网站,并且其工作正常.
当我使用url“domain.com/token”请求令牌时,我会获得有效期为15天的令牌.我在“StartupAuth.cs”中设置了这个

AccessTokenExpireTimeSpan = TimeSpan.FromDays(15)

例如.:

{
  "access_token":"qwertyuiop.....","token_type":"bearer","expires_in":1209599,"userName":"user@example.com",".issued":"Wed,11 Feb 2015 01:00:00 GMT",".expires":"Thu,26 Feb 2015 01:00:00 GMT"
}

(我将值放在上面的代码中,但是您可以了解“.expires”字段.

获取令牌后5分钟,当我尝试通过授权访问“get”或“post”或我的API中的任何方法时:标头中的bearer token为:

Authorization: Bearer qwertyuiop.....

我收到此错误:

{"Message":"Authorization has been denied for this request."}

虽然它只是5分钟而且令牌应该持续15天,但它会在5分钟内到期.
当我在5分钟的间隔内请求任何方法“获取”/“发布”时,我在JSON中得到了我的数据的正确响应.简而言之,授权成功.

我通过Fiddler,Chrome的REST插件以及使用API??的移动应用程序进行测试,重复了这种行为.

我有会话的web.config值如下(我认为它的相关)

<sessionState timeout="180" />

请注意,不使用表单身份验证,因此不需要在web.config中的该部分超时.

知道发生了什么事吗?此超时导致使用API??的移动应用程序的用户不时地重新登录.任何帮助,将不胜感激.

谢谢.

解决方法

检查WebServer,在IIS中,可以在应用程序级别设置机器密钥,每次应用程序池回收时都会生成新的机器密钥,因此您需要一个新的令牌.您可以在网站级别或根服务器级别上设置计算机密钥.也许这可能有所帮助

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读