Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.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
Oauth 2.0 令牌过期后的部分身份验证_Oauth 2.0_Asp.net Web Api_Owin - Fatal编程技术网

Oauth 2.0 令牌过期后的部分身份验证

Oauth 2.0 令牌过期后的部分身份验证,oauth-2.0,asp.net-web-api,owin,Oauth 2.0,Asp.net Web Api,Owin,我对Oauth相当陌生,我想知道是否有任何Oauth流支持特定的流。我希望能够识别一个用户,并允许该用户在其令牌过期后执行不安全的操作。只有当用户请求执行安全操作时,才会强制其重新验证。我目前没有看到任何流支持这一点 我考虑过使用刷新令牌的以下解决方案,但不确定是否违反了任何oauth模式,或者是否有更好的方法 1) 发出X时间量的访问令牌。比方说2小时。 2) 令牌到期时,刷新令牌用于获取新的访问令牌。新令牌将包含一个声明,标识用户只有不安全的访问权限。 3) 如果请求安全资源,请求将被拒绝,

我对Oauth相当陌生,我想知道是否有任何Oauth流支持特定的流。我希望能够识别一个用户,并允许该用户在其令牌过期后执行不安全的操作。只有当用户请求执行安全操作时,才会强制其重新验证。我目前没有看到任何流支持这一点

我考虑过使用刷新令牌的以下解决方案,但不确定是否违反了任何oauth模式,或者是否有更好的方法

1) 发出X时间量的访问令牌。比方说2小时。 2) 令牌到期时,刷新令牌用于获取新的访问令牌。新令牌将包含一个声明,标识用户只有不安全的访问权限。 3) 如果请求安全资源,请求将被拒绝,401响应代码指示令牌无效。 4) 应用程序必须请求用户凭据才能接收新的访问令牌


对此有何想法?

这实际上取决于资源服务器和客户端之间的交互,当然也取决于标准OAuth 2.0的边界。OAuth2.0在这种交互中唯一标准化的是访问令牌的呈现方式。所有其他行为由应用程序实现者决定

资源服务器将允许访问不安全的资源/操作,而不管访问令牌的有效性如何,或者即使根本没有访问令牌。只有在访问一个安全的资源时,流程才会像您描述的那样


我看不出生成标识“不安全访问”的访问令牌的价值。该令牌将具有与过期令牌相同的语义,或者根本没有令牌,因此不需要访问令牌来覆盖该情况。

好的,这是有意义的。如果令牌过期,我用来帮助验证承载令牌的中间件没有设置请求的标识。我认为更好的解决方案是修改中间件,为具有有限权限的请求创建标识。谢谢你的反馈。