我有与非交互式客户相关的问题,例如基于oauth2流的后端应用。
https://auth0.com/docs/api-auth/grant/client-credentials
根据非交互式客户端的oauth2,流程为:
基于此,我的问题是:
答案 0 :(得分:1)
后端应用程序应在本地存储access_token或请求 每次客户端使用时,为同一客户端提供一个新的access_token 应用
对于客户端凭据授予流程,是否频繁续订或“缓存”返回的JWT访问令牌的决定将取决于您的要求 - 例如,如果范围经常更改,则可能需要经常获取新的访问令牌确保反映这些变化。从个人经验来看,通常情况并非如此,因此在令牌过期期间缓存令牌是有道理的,并且保存额外调用Auth0以获取每个请求的新令牌。
如果本地存储了access_token,那么到期时间会发生什么?
您可以选择在每次发出请求之前检查过期,并在过期时获取新的访问令牌,或者只是尝试使用访问令牌而不检查,然后仅在收到失败时尝试续订使用现有令牌时。
非交互式客户端的Access_token应具有相同的权限 与access_token相比,交互用户的到期时间 (登录网站)?
与第一个相似的问题。由于使用客户端凭据授权流程通常表示机密/可信客户端(您正在存储客户端密钥) - 并且经常用于机器到机器方案 - 因此使用更长的到期时间可能是有意义的。但是,如前所述,如果范围可能会发生变化等,那么短暂的到期将导致配置更改(范围)被更快地获取。