我在我的应用程序中实现了Oauth2来保护API调用。 我的Oauth和资源服务器位于两个独立的物理盒上(但在同一网络上)。对于资源服务器上的每个调用,它需要调用Oauth服务器进行Oauthtoken验证。
我有一天有数百万的请求进入我的资源服务器。 目前,为了验证Oauth令牌,我正在使用从资源服务器到Oauth服务器的休息调用。
有没有办法让这个更快,因为每个呼叫都需要重定向到Oauth服务器? webSockets可以解决这个问题吗?
答案 0 :(得分:0)
如果您不需要撤销个人访问令牌,则可以使用无状态(JSON Web令牌)JWT令牌。 JWT不需要在授权服务器上进行验证。只要JWT令牌由授权服务器(非对称加密)签名,您就可以使用授权服务器的公钥验证资源服务器本身上的令牌。
这使得快速授权(因为它跳过服务器到服务器的往返)以易于撤销的代价。
注意:您也可以使用共享密钥(对称加密),但是您需要确保所有感兴趣的方都拥有共享密钥(并保密)。
查看spring-security-jwt和https://jwt.io/