我正在开发一个SANDBOX集群和一个由我在MongoDB Stitch中创建的新应用程序 .

我需要了解MongoDB Stitch App中的“Payload Signature Verification” . 可以说,我需要创建一个REST GET API,它将获取产品列表,但是必须对此API调用进行身份验证,即 . 只有注册/验证的用户才能拨打此电话 . MongoDB Stitch建议下面这样做:

https://docs.mongodb.com/stitch/services/webhook-requests-and-responses/#webhook-verify-payload-signature

但是,我需要了解:

image1

(1)在哪里添加这个BODY&SECRET?据我所知,它必须保存在针脚应用程序中,因为您不得在客户端javascript中公开任何密钥 .

(2){“message”:“MESSAGE”}这是可配置的吗?如果是,我们应该在这里添加什么 Value ?

image2

此功能必须在MongoDB Stitch App中编码 . 这很清楚 . 此函数根据您在前面步骤中传递的“body”和“secret”返回“hash” .

现在,您必须在API请求中传递此哈希:

image3

现在,问题是:

您可以轻松地看到在开发人员工具中传递给服务器的任何请求,任何人都可以轻松复制并通过POSTMAN传递它 . 所以:

  • 如何保护我的请求? (仅供参考:我还添加了“规则”,说这个请求只有在域名包含让我们说www.mysite.com时才能执行 . 但我能够从localhost成功执行请求 . )

  • 如果,任何人都可以在POSTMAN中复制并粘贴我的请求并运行它 . 那么,生成HASH的用途是什么?

  • 如何让我的请求令牌在有限的时间内保持有效/有效,让我们说请求仅在接下来的5分钟内有效? (我的意思是我如何在Stitch APP中做到这一点?那个选项在哪里?)

  • 我如何获得刷新令牌?即使我以某种方式得到它,我如何将其重新传递给请求?

MongoDB Stich文档中的所有此类查询都是UN_ANSWERED:https://docs.mongodb.com/stitch/

基本上我想了解MongoDB Stitch App / Stitch REST API的任何GET / POST / PUT / PATCH / DELETE请求的完整生命周期 .

如果有人使用过MongoDB Stich,请解释一下 .