Webhook 的 Spring Boot 身份验证 post

Springboot authentication for a webhook post

我需要在我的后端 api 服务器上对来自第三方集成的 Webhook post 进行身份验证。我唯一可以定义的是他们将调用的端点 url。一旦他们必须注册并且该过程需要 3 天,它就不能是动态的。而且我们使用多租户解决方案,所以我们必须在每次调用时使用不同的模式进行身份验证。

所以问题是我必须为此 webhook 创建一个过滤器,这样我就可以通过 post 正文的 json 中包含的值对其进行身份验证。

所以我定义了一个 WebSecurityConfigurerAdapter 并添加了一个 AbstractPreAuthenticatedProcessingFilter,这样我就可以拦截请求,读取 json 正文中的值并使用适当的凭据进行身份验证。

我按照本教程进行操作 Reading HttpServletRequest Multiple Times in Spring 因此我可以从请求中读取 InputStream 而无需删除它。

所以我的问题有两个。

1:是否有 better/easy 方法可以存档此结果? 2:我猜本教程遗漏了一些东西,因为我在尝试读取请求时在 servlet 中得到了空指针(同样,在我已经读取了过滤器之后)。

任何猜测将不胜感激,提前致谢。

我们可以知道哪个第 3 方服务吗? PayPal/Stripe 例如已经有文档解释如何验证数据。

如果您可以将 metadata/custom 字段添加到 webhook,例如您可以对其进行签名。

就检查 signature/verifying 而言,为什么不在 @Contoller=>@Service 中执行此操作?