【问题标题】:Springboot authentication for a webhook postWebhook 帖子的 Spring Boot 身份验证
【发布时间】:2021-01-10 00:24:59
【问题描述】:

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

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

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

我按照本教程 Reading HttpServletRequest Multiple Times in Spring 进行操作,这样我就可以从请求中读取 InputStream 而不会删除它。

所以我的问题是两个。

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

任何猜测都将不胜感激,在此先感谢。

【问题讨论】:

  • 如果您需要帮助,我建议您发布有关 api、您的代码和更具体问题的信息。投票结束,因为Is there a better/easy approach so I can archive this result 会导致固执己见的答案。
  • 非常感谢您的任意决定投票结束我的问题。如果您不知道如何解决这个问题,我强烈建议您尝试回答任何其他问题。最好是你知道如何解决的。再次感谢。
  • 我没有义务提供任何反馈,但会这样做,以便您改进您的问题。在提出问题之前,每个人都应该阅读关于“如何提出一个好问题”stackoverflow.com/help/how-to-ask 询问“有没有更好的方法?”的常见问题解答。可能会导致固执己见的答案,这是不允许的meta.stackoverflow.com/questions/255468/opinion-based-questions 然后你问tuturial 是否因为你得到一个空指针而丢失了一些东西。我们无法确定,因为您尚未向我们展示您的实现。 afaik 你可能只是错过了教程中的一些内容
  • 因此改进问题的建议是:询问一个特定问题,例如“我在尝试执行 x 时遇到空指针异常”,您将代码包含在显示正在发生的事情的堆栈跟踪中,你写清楚你预期会发生什么。如果这样做,有人可能会很乐意回答您的问题。如果问题是可重现的,它可能会得到更快的回答。祝你有美好的一天。
  • 并非所有问题都与运行时错误有关,而不是与工作代码有关。规范问题也有待回答。您可以帮助解决这个问题,而不是投票关闭它,因为这不是您最喜欢回答的问题类型。我建议您省力尝试解决问题,或者您最喜欢的问题。

标签: spring-boot spring-security multi-tenant


【解决方案1】:

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

如果您可以将元数据/自定义字段添加到 webhook,例如,您可以对其进行签名。

至于检查签名/验证它,为什么不在@Contoller=>@Service 中执行此操作?

【讨论】:

  • 不幸的是,我尝试集成的第三方系统女巫没有很好的文档记录 API。但我将集中精力要求他们按照您的建议“将元数据/自定义字段添加到 webhook”。无论如何,也许是更好的方法。谢谢Jcov!
猜你喜欢
  • 2018-02-27
  • 2017-04-12
  • 2017-07-30
  • 2019-02-13
  • 2018-10-09
  • 2019-04-22
  • 2022-10-05
  • 2021-09-03
  • 1970-01-01
相关资源
最近更新 更多