当前位置: 首页 > 知识库问答 >
问题:

Spring OAuth2客户端,CSRF保护

袁枫涟
2023-03-14

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

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

客户端应用具有CSRF保护,但是否需要在授权服务器上启用CSRF保护?我想不出任何攻击场景,因为通信是服务器到服务器的,客户端凭据被安全地存储,用户不能直接访问资源。

共有1个答案

子车飞鹏
2023-03-14

如果您的授权服务器只能从应用程序服务器访问,我看不出您对在这两个服务器上启用CSRF保护有什么兴趣。对终端用户可访问的服务器的CSRF保护应该足够了。此外,如果您的CSRF保护在您的应用程序服务器上被破坏,然后您的应用程序与您的授权服务器通信,我看不出您如何在您的授权服务器中检测到它,因为请求是由您的服务器完成的。

 类似资料:
  • 我有一个API,我想与OAuth2安全。我已经用密码做了一个虚拟测试grant_type一切正常。我可以请求令牌,用它访问安全的endpoint,等等。服务器充当授权和资源服务器。 后来我读到,我应该使用隐式的grant_类型,因为客户端将是一个javascript应用程序。 我的客户端是这样配置的: 如果我尝试像这样访问endpoint:http://localhost:8080/oauth/a

  • 我对如何处理网络中的大量连接感到困惑(3.6.2。FINAL)和保持活着=true。 对于作为服务器端连接器在netty客户机上工作,对另一个服务进行http调用,它希望始终保持连接打开以获得性能(keep alive=true)。 问题:开放频道的数量有一个硬限制,超过这个限制,客户端在尝试打开频道时将挂起。为什么没有例外只是挂起?这是通道超时的设置吗? 我似乎无法理解Netty对工作线程内连接

  • CSRF是指针对Web应用程序的跨站点伪造攻击。 CSRF攻击是系统的经过身份验证的用户执行的未授权活动。 因此,许多Web应用程序容易受到这些攻击。 Laravel以下列方式提供CSRF保护 - Laravel包含一个内置的CSRF插件,可为每个活动用户会话生成令牌。 这些令牌验证相关的经过身份验证的用户是否发送了操作或请求。 实现 (Implementation) 本节将详细讨论Laravel

  • 我试图在Angular应用程序中调用我的登录服务,但我遇到了CORS错误。我已经在WebSecurity配置适配器上添加了cors配置。我已经尝试了下面的一些配置。邮递员一切都很好。 授权服务器配置RADAPTER 资源服务器配置RADAPTER Web安全配置r适配器

  • 简介 Laravel 可以轻松地保护应用程序免受 跨站点请求伪造 (CSRF) 攻击,跨站点请求伪造是一种恶意攻击,它凭借已通过身份验证的用户身份来运行未经过授权的命令。 Laravel 会自动为每个活跃用户的会话生成一个 CSRF「令牌」。该令牌用于验证经过身份验证的用户是否是向应用程序发出请求的用户。 无论何时,当您在应用程序中定义HTML表单时,都应该在表单中包含一个隐藏的CSRF标记字段,

  • 我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我最初的想法如下: 我在服务器上制作了一个中央服务器插座,所有应用程序都可以连接到该插座。此ServerSocket跟踪已连接的套接字(客户端),并将新连接的客户端的IP和端口提供给所有其他客户端。每个客户端都会创建一个新的ServerSocket,所有客户端都可以连接到它。 换句话说:每个客户端都有一个Se