我的应用程序(APP 1)中有一个webhook,其中我的另一个应用程序(APP 2)需要定期命中,但是我正在考虑安全地签署这些请求的方法,以确保只能访问webhook enpoint通过该应用程序。我想到了以下几点:
但是我觉得这种方法相当基本,因为如果有人掌握了这个秘密,他们就能够访问端点。应该使用某种公钥密钥组合吗?有什么建议?
如果系统在同一个后端工作或者可以访问相同的数据库或类似数据库,那么最简单的方法是为每个请求滚动一个新的哈希并将其保存在本地。
这样,哈希永远不会被重用,只有APP1和APP2知道当前的哈希值。
如果系统没有相同的后端,另一种方法是根据两个应用程序都知道的一些秘密周期性地生成新的哈希值:sha256(SECRET + current_time_window),类似于2因子身份验证。
要添加的附注是,如果您使用HTTPS和POST请求,则旁观者无法读取参数。