Asp.net mvc 4 ASP.NET Web API授权令牌提前到期
如前所述,我已经为我的web api(个人帐户)实现了安全性 我已经在godaddy(共享主机)上托管了该网站,并且工作正常。 当我使用url“domain.com/token”请求令牌时,我得到了到期日期为15天内的令牌。我在“StartupAuth.cs”中使用 e、 g:Asp.net mvc 4 ASP.NET Web API授权令牌提前到期,asp.net-mvc-4,authorization,asp.net-web-api2,bearer-token,Asp.net Mvc 4,Authorization,Asp.net Web Api2,Bearer Token,如前所述,我已经为我的web api(个人帐户)实现了安全性 我已经在godaddy(共享主机)上托管了该网站,并且工作正常。 当我使用url“domain.com/token”请求令牌时,我得到了到期日期为15天内的令牌。我在“StartupAuth.cs”中使用 e、 g: { "access_token":"qwertyuiop.....", "token_type":"bearer", "expires_in":1209599, "userName":"user@exa
{
"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分钟,当我尝试通过在标头中传递authorization:bearer令牌访问API中的“get”或“post”或任何方法时,如下所示:
Authorization: Bearer qwertyuiop.....
我得到这个错误:
{"Message":"Authorization has been denied for this request."}
虽然它只有5分钟,令牌应该可以使用15天,但它在5分钟内到期。
当我在5分钟的时间间隔内请求任何方法“get”/“post”时,我会用JSON格式的数据得到正确的响应。简言之,授权成功
我通过Fiddler、Chrome的REST插件和使用API的移动应用程序对其进行了测试,从而重复了这种行为
我有如下会话的web.config值(我认为它是相关的)
请注意,未使用表单身份验证,因此不需要在web.config中的该节上超时
知道发生了什么吗?这个超时会导致使用API的移动应用的用户时不时地重新登录。如果有任何帮助,我们将不胜感激
谢谢。检查web服务器,在IIS中,可以在应用程序级别设置机器密钥,每次应用程序池回收新的机器密钥时,都会生成一个新的令牌。您可以在网站级别或根服务器级别设置机器密钥。这可能有助于将机器密钥添加到web.config,使其不受应用程序池回收的影响
<system.web>
<machineKey validationKey="21F090935F6E49C2C797F69BBAAD8402ABD2EE0B667A8B44EA7DD4374267A75D7AD972A119482D15A4127461DB1DC347C1A63AE5F1CCFAACFF1B72A7F0A281B"
decryptionKey="261F793EB53B761503AC445E0CA28DA44AA9B3CF06263B77"
validation="SHA1"/>
阅读此处如何生成尝试将空闲超时(分钟)设置为5分钟以上。您可以在下找到此选项
iis application pool->advanced settings
我有完全相同的问题!!有人帮忙吗?添加机器钥匙成功了。why\u not在下面也提到了。我如何将why\u not的帖子标记为答案?
<system.web>
<machineKey validationKey="21F090935F6E49C2C797F69BBAAD8402ABD2EE0B667A8B44EA7DD4374267A75D7AD972A119482D15A4127461DB1DC347C1A63AE5F1CCFAACFF1B72A7F0A281B"
decryptionKey="261F793EB53B761503AC445E0CA28DA44AA9B3CF06263B77"
validation="SHA1"/>
iis application pool->advanced settings