1

我在我的应用程序中实现了 Oauth2 以保护 API 调用。我的 Oauth 和资源服务器位于两个单独的物理机上(但在同一网络上)。对于资源服务器上的每次调用,它都需要调用 Oauth 服务器进行 Oauthtoken 验证。

一天之内,我的资源服务器收到数百万个请求。目前为了验证 Oauth 令牌,我正在使用从资源服务器到 Oauth 服务器的休息调用。

有没有办法让这更快,因为每个呼叫都需要重定向到 Oauth 服务器?webSockets 能解决这个问题吗?

4

1 回答 1

0

如果您不需要撤销单个访问令牌,则可以使用无状态(JSON Web 令牌)JWT 令牌。JWT 不需要在授权服务器上进行验证。只要 JWT 令牌由授权服务器签名(非对称加密),您就可以使用授权服务器的公钥在资源服务器本身上验证令牌。

这使得快速授权(因为它跳过了服务器到服务器的往返)以易于撤销为代价。

注意:您也可以使用共享密钥(对称加密),但您需要确保所有相关方都拥有共享密钥(并保密)。

查看 spring-security-jwt 和https://jwt.io/

于 2016-04-23T16:38:54.197 回答