2015-06-25 33 views
0

我对Oauth相当陌生,并且想知道是否有任何Oauth流支持特定流。我希望能够识别用户并允许该用户即使在令牌过期后也执行不安全的操作。如果用户请求执行安全操作,则只会强制用户重新进行身份验证。我目前没有看到任何支持这一点的流程。过期令牌后的部分身份验证

我想过使用刷新令牌的下列解决方案,但不知道我可能违反任何oauth模式或者如果有更好的方法。

1)发出访问令牌X时间。可以说2个小时。 2)当令牌到期时,刷新令牌用于获取新的访问令牌。新标记将包含标识用户仅具有不安全访问权限的声明。 3)如果请求安全资源,请求将被401响应代码拒绝,指示令牌无效。 4)应用程序将不得不要求用户凭证以便接收新的访问令牌。

对此有何看法?

回答

0

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

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

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

+0

好的,这是有道理的。如果令牌过期,我用来帮助验证持票人令牌的中间件没有设置请求的身份。我认为一个更好的解决方案是修改中间件,为有限权限的请求创建身份。感谢您的反馈。 –