SSO:可以将SSO令牌缓存一段时间,因此不能在每次请求时联系auth服务器吗?

时间:2017-09-01 14:25:31

标签: authentication oauth oauth-2.0

对于单点登录(SSO),我有一个auth服务器(带有用户表)和多个资源服务器(各种Web应用程序)。

到目前为止,我已经使用Oauth 2.0实现了JWT并从auth服务器获得了访问令牌。

我从OAuth 2.0规范中了解到资源服务器现在必须与Auth服务器通信以验证令牌。这很简单,可以通过向端点GET的auth服务器发送users/me请求来获取用户对象以及其他用户范围。

现在我要说的是来自资源服务器的Auth服务器调用的频率。为资源服务器的每个传入请求调用auth服务器效率不高,并且由于额外的往返而会造成缓慢。

资源服务器与auth服务器通信的频率是多少?如果不是每个请求,那么我如何保留身份验证信息?

我正在考虑在资源服务器上使用会话,但我不确定这是否是正确的方法。

1 个答案:

答案 0 :(得分:0)

如果您的访问令牌包含到期时间,那么您可以在很长时间内限制对资源服务器的连续请求。一旦获取和其他请求首先在缓存中查找,您可以缓存访问令牌,也可以定期检查访问令牌是否仍然有效。