我的应用程序(APP 1)中有一个网络钩子,我的另一个应用程序(APP 2)需要定期点击,但我正在考虑如何安全地签署这些请求,以确保web钩子端点只能通过该应用程序访问。我想到了以下几点:
然而,我觉得这种方法是相当基本的,因为如果有人掌握了这个秘密,他们就能够访问端点。应该用某种公开的密匙组合来实现吗?有什么建议吗?
发布于 2018-08-31 04:48:10
如果系统在相同的后端上工作,或者访问相同的数据库或类似的数据库,那么为每个请求提交一个新的散列并在本地保存是最容易的。
这样,哈希就不会被重用,只有APP1和APP2知道当前的哈希值。
如果系统没有相同的后端,另一种方法是根据两个应用程序都知道的秘密周期性地生成一个新的散列:sha256(秘+ current_time_window),类似于一个2因子的哈希。
一个附加的注意事项是,如果您正在使用HTTPS和POST请求,那么param对于旁观者来说是不可读的。
https://stackoverflow.com/questions/52106046
复制相似问题