gpt4 book ai didi

security - 何时为 oauth2 流中的非交互式客户端请求新的 access_token?

转载 作者:行者123 更新时间:2023-12-02 03:00:16 24 4
gpt4 key购买 nike

我有关于 的问题非交互式客户端 像基于 oauth2 流的后端应用程序。

https://auth0.com/docs/api-auth/grant/client-credentials

根据非交互式客户端的 oauth2,流程为:

  • 应用程序使用其客户端 ID 和客户端 key 对 Auth0 进行身份验证。
  • Auth0 验证此信息并返回一个 access_token。
  • 应用程序可以使用 access_token 代表自己调用 API。

  • 基于此,我的问题是:
  • 后端应用程序应该在本地存储access_token还是每次客户端使用应用程序时为同一个客户端请求一个新的access_token?
  • 如果 access_token 存储在本地,过期时间会发生什么?
  • 与交互式用户(登录网站)的 access_token 相比,非交互式客户端的 Access_token 应具有相同的到期时间?
  • 最佳答案

    Backend applications should store the access_token locally or request a new access_token for the same client each time the client uses the application?



    对于客户端凭据授予流程,是否频繁更新或“缓存”返回的 JWT 访问 token 的决定将取决于您的要求 - 如果范围例如频繁更改,则频繁获取新的访问 token 以确保这些更改可能是有意义的被反射(reflect)。从个人经验来看,通常情况并非如此,因此在 token 到期期间缓存 token 是有道理的,并节省了对 Auth0 的额外调用,以便为每个请求获取新 token 。

    If access_token is stored locally what happened with expiration time?



    您可以选择在每次发出请求之前检查过期时间,如果过期时间已过,则获取新的访问 token ,或者只是尝试使用访问 token 而不检查,然后仅在使用时收到失败时才尝试更新现有 token 。

    Access_token for non interactive clients should have the same expiration time compared with access_token for interactive users (login web) ?



    与第一个问题类似的问题。由于使用客户端凭据授权流通常表示 secret /受信任的客户端(您正在存储客户端 secret ) - 并且经常用于机器到机器的场景 - 使用更长的到期时间可能是有意义的。但是,正如已经提到的,如果范围可能发生变化等,那么短暂的到期将导致配置更改(范围)被更快地获取。

    关于security - 何时为 oauth2 流中的非交互式客户端请求新的 access_token?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46553892/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com