我在项目中使用基于身份令牌的angularjs,代币在本地环境中正常工作,但在15分钟后在服务器中到期。我将中间件中的AccessTokeneXpirEtimespan设置为timepan.fromday(14),并在令牌中检查Expire_in值,Expire_in:1209599等于14天。
显然一切都是正确的
OAuthAuthorizationServerOptions OAuthServerOptions = new OAuthAuthorizationServerOptions() {
AllowInsecureHttp = true,
TokenEndpointPath = new PathString("/token"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
Provider = new ApplicationOAuthProvider(PublicClientId),
};
app.UseOAuthAuthorizationServer(OAuthServerOptions);
app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());
我的服务器是Plesk
我的问题:
1-我应该在其他地方设置此设置(过时)吗?oauth2 webapi令牌到期
2-您真的必须使用刷新吗?http://bitoftech.net/2014/07/16/enable-oauth-refresh-tokens-tokens-angularjs-angularjs-app-using-asp-net-web-api-api-2-owin/
3-我应该配置Plesk ???
4-与虚拟服务器和机器密钥有关?20分钟后,ASP.NET身份过期的承载令牌
谢谢您的更多详细信息
正如阿敏所说,这是正确的
您必须生成适当的计算机密钥并添加到项目的web.config。
您可以生成机器密钥:http://www.allkeysgenerator.com/random/asp-net-machinekey-generator.aspx
所以,我已经生成了如下的密钥:
<machineKey validationKey="4E6D929B83FD607A895C1E65DDEB9E76E67D06291A040817EF59FBE59126ECA038266C20D8D649C94838A4157D40A9DAE3070755EF31AED17BC39DF0BD1D88CD" decryptionKey="83B540F6E86C959734C7C053A97F15E07AC7789100D26E7420B70597C66A84CD" validation="SHA1" decryption="AES" />
并在<system.web>
标签中添加。
谢谢!
我在一段时间后解决此问题。您必须生成适当的计算机密钥并添加到项目的web.config。
您可以生成机器密钥:http://www.allkeysgenerator.com/random/asp-net-machinekey-generator.aspx