【问题标题】:Identity Token-Based token expire after 15 min on server but work on local基于身份令牌的令牌在服务器上 15 分钟后过期,但在本地工作
【发布时间】: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


【解决方案1】:

正如阿明所说,没错

您必须生成适当的机器密钥并添加到项目的 web.config。

您可以生成机器密钥:http://www.allkeysgenerator.com/Random/ASP-Net-MachineKey-Generator.aspx

所以,我生成的密钥如下:

<machineKey validationKey="4E6D929B83FD607A895C1E65DDEB9E76E67D06291A040817EF59FBE59126ECA038266C20D8D649C94838A4157D40A9DAE3070755EF31AED17BC39DF0BD1D88CD" decryptionKey="83B540F6E86C959734C7C053A97F15E07AC7789100D26E7420B70597C66A84CD" validation="SHA1" decryption="AES" />

并添加到&lt;system.web&gt;标签内。

谢谢!

【讨论】:

    【解决方案2】:

    我会在一段时间后解决这个问题。 您必须生成适当的机器密钥并添加到项目的 web.config。

    您可以生成机器密钥:http://www.allkeysgenerator.com/Random/ASP-Net-MachineKey-Generator.aspx

    【讨论】:

    • 非常好,我遇到了同样的问题,现在解决了。而不是其他网站参考,我添加了以下答案的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-11
    • 1970-01-01
    • 2019-03-13
    • 2017-09-10
    • 1970-01-01
    相关资源
    最近更新 更多