代码之家  ›  专栏  ›  技术社区  ›  Perumal Ramasamy

如何增加access token+Spring boot+OAuth的到期日?

  •  1
  • Perumal Ramasamy  · 技术社区  · 7 年前

    我们在spring boot V1上开发了一个restful API。5.7并且它由OAuth使用“密码”授权类型进行保护。我们只使用访问令牌,没有使用刷新令牌。访问令牌的有效性设置为15分钟。最初,我们点击令牌端点,获取令牌并使用服务。虽然服务被频繁使用,但访问令牌在15分钟后就会过期。我们要做的是,当服务只有15分钟没有被调用时,令牌应该过期。

    谁能帮我一下吗?

    2 回复  |  直到 7 年前
        1
  •  2
  •   Ataur Rahman Munna    7 年前

    听着,首先我们需要知道
    我们为什么使用访问令牌?
    访问令牌用于访问受保护的资源。它有一个有效期,例如1min、10min等。在该时间之后,令牌将失效。要获取新的有效令牌,应使用刷新令牌。尽管您可以使用用户名和密码获得一个全新的令牌。即使在到期时间内调用任何api,令牌在到期时间后仍然无效。如果在到期时间内未调用任何api,则令牌也将无效。这是预期的行为。

    为什么会出现这种情况?
    假设您从服务器获得访问令牌,并使用访问令牌从服务器访问受保护的资源。不知何故,中间的人通过嗅探数据包获得了令牌。然后入侵者可以很容易地访问资源,你可以和他想要的时间一样多。所以从技术上来说,我们可以说,你的帐户被黑客入侵了。
    为了防止这种攻击,您应该定义一个适合您的用例的令牌有效期。因此,这比以前更安全。
    我强烈建议允许您的系统使用刷新令牌。

    但是,您也可以将系统配置为重用令牌。这 link 可能会有帮助。

        2
  •  0
  •   Anand Kulkarni    7 年前

    您可以使用OauthRestTemplate(如果您不想编写自己的逻辑),它将在访问令牌过期后获取一个新的访问令牌(使用刷新令牌)。如果您计划在应用程序中使用OAuth,那么没有理由不使用刷新令牌。