【发布时间】:2018-05-23 23:56:58
【问题描述】:
我在我的项目中使用了基于身份令牌和 angularjs 的令牌,令牌在本地环境中正常工作,但在 15 分钟后在服务器中过期。我在中间件中设置 AccessTokenExpireTimeSpan = TimeSpan.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 Token Expiration
2- 你真的必须使用 RefreshToken 吗? http://bitoftech.net/2014/07/16/enable-oauth-refresh-tokens-angularjs-app-using-asp-net-web-api-2-owin/
3- 我应该配置 Plesk 吗???
4-与虚拟服务器和机器密钥有关??? asp.net identity expire bearer token after 20 min
感谢您提供更多详细信息
【问题讨论】:
-
你能在jwt.io之类的地方检查你生成的token,看看过期时间是不是等于14天?你怎么确定它在本地工作,但现在在服务器上工作?
-
jwt.io 无法解码我的令牌,令牌是机器密钥生成的吗?我使用虚拟主机..也许是因为?
-
我认为您的主机在令牌上没有任何角色。密钥用于签署令牌。
-
你解决了吗?我的服务器在本地工作时遇到了完全相同的问题。
标签: angularjs authentication oauth asp.net-identity access-token