Spring OAuth2客户端,CSRF保护

时间:2016-07-09 17:26:05

标签: java spring spring-security oauth-2.0

我正在使用Spring构建Web应用程序。我有多个Spring客户端应用程序和一个OAuth2授权和资源服务器。最终用户首先在客户端应用程序中进行身份验证,然后客户端应用程序从资源服务器请求一些资源(在从授权服务器获取访问令牌之后),处理数据并将其返回给用户。用户还可以更改资源服务器上的数据,但只能通过客户端应用程序。为了获取资源,仅使用客户端凭证,在这种情况下资源所有者是可信客户端。

在资源服务器上仅存储客户端详细信息和资源,不存储有关最终用户的信息。资源服务器并不关心谁请求了资源,只是该请求来自授权的客户端应用程序。

客户端应用程序具有CSRF保护,但是是否需要在授权服务器上启用CSRF保护?我无法想到任何攻击情形,因为通信是服务器到服务器,客户端凭据是安全存储的,用户无法直接访问资源。

1 个答案:

答案 0 :(得分:1)

如果您的授权服务器只能从应用程序服务器访问,我不会通过在两者上启用CSRF保护来了解您可能感兴趣的内容。 最终用户可访问的服务器上的CSRF保护应该足够了。 此外,如果您的应用程序服务器上的CSRF保护被破坏,然后您的应用程序与您的授权服务器进行通信,那么由于您的服务器已完成请求,因此我无法看到您如何在授权服务器中检测到它。