Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 何时为oauth2流中的非交互客户端请求新的访问令牌?_Security_Oauth 2.0_Access Token_Auth0 - Fatal编程技术网

Security 何时为oauth2流中的非交互客户端请求新的访问令牌?

Security 何时为oauth2流中的非交互客户端请求新的访问令牌?,security,oauth-2.0,access-token,auth0,Security,Oauth 2.0,Access Token,Auth0,我有一些与非交互式客户端相关的问题,比如基于oauth2流的后端应用程序 根据oauth2,对于非交互式客户端,流程为: 应用程序使用其客户端Id和客户端密码通过Auth0进行身份验证 Auth0验证此信息并返回访问令牌 应用程序可以使用access_令牌代表自身调用API 基于此,我的问题是: 后端应用程序应在本地存储access_令牌,或在客户端每次使用应用程序时为同一客户端请求新的access_令牌 如果访问令牌存储在本地,过期时间会发生什么 非交互式客户端的Access\u令牌应

我有一些与非交互式客户端相关的问题,比如基于oauth2流的后端应用程序

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

  • 应用程序使用其客户端Id和客户端密码通过Auth0进行身份验证
  • Auth0验证此信息并返回访问令牌
  • 应用程序可以使用access_令牌代表自身调用API
基于此,我的问题是:

  • 后端应用程序应在本地存储access_令牌,或在客户端每次使用应用程序时为同一客户端请求新的access_令牌
  • 如果访问令牌存储在本地,过期时间会发生什么
  • 非交互式客户端的Access\u令牌应与交互式用户(登录web)的Access\u令牌具有相同的过期时间
后端应用程序应在本地或请求中存储访问令牌 每次客户端使用 申请

对于客户端凭据授予流,是否频繁续订或“缓存”返回的JWT访问令牌将取决于您的要求-例如,如果作用域频繁更改,则频繁获取新的访问令牌以确保这些更改得到反映可能是有意义的。从个人经验来看,通常情况并非如此,因此在令牌过期期间缓存令牌是有意义的,并且可以节省对Auth0的额外调用,以便在每个请求中获取新令牌

如果访问令牌存储在本地,那么过期时间会发生什么

您可以选择在每次发出请求之前检查过期时间,如果过期时间已过,则获取一个新的访问令牌,或者在不检查的情况下尝试使用访问令牌,然后仅在使用现有令牌时收到失败时才尝试续订

非交互客户端的Access_令牌应具有相同的 与交互用户的访问令牌相比的过期时间 (登录网站)


与第一个问题类似。由于使用客户机凭据授权流通常表示机密/受信任的客户机(您正在存储客户机机密),并且经常用于机器对机器的场景,因此使用更长的过期时间可能是有意义的。但是,如前所述,如果作用域可能会发生更改等,那么短时间的过期将导致配置更改(作用域)更快进行。

谢谢@arceldon。(1) 当您说:“例如,如果作用域经常更改”,您是指业务和安全项目需求,还是从json响应()创建读写作用域??(2) 在稳定的企业环境中,为了不影响安全端点的所有应用程序客户端,安全项目要求不应更改。那么,假设有一个稳定的安全平台,一个具有高过期时间的访问令牌是否有效?或者出于安全目的,access_令牌到期时是否应续订(频繁)?谢谢。在这里,我要说明的是,如果您拥有相当“固定”的授权权限,例如,您分配给API的范围类似于
read:book write:book
,那么更长的过期时间是合适的(所有其他条件都是相同的-例如,受信任的客户端等)。但是,如果您知道授权权限可能会发生更改,并且希望您的非交互式客户机接收新的更改,那么更短的到期时间可能更合适-例如,您将
deletebook
添加为作用域,并且您希望现有的非交互式客户机拾取该更改-因为exp.较短,他们会提前续订访问令牌。