gpt4 book ai didi

facebook-payments - 了解 Facebook 支付的履行流程

转载 作者:行者123 更新时间:2023-12-04 15:38:52 25 4
gpt4 key购买 nike

我正在学习如何实现 Facebook Fulfillment flow .
我无法理解使用 request_id (步骤 1 和 2)。这个想法是我的服务器生成request_id稍后,当应用程序从 Facebook 获得编码响应时,将该响应中的详细信息与我服务器上存储的详细信息进行比较(使用 request_id 作为 key )。

此验证的目的是什么?

它说:

The most secure way to verify an order is to use the signed_request parameter from the JavaScript callback, as this has been encoded using the App Secret and can't be manipulated by the client.



所以,如果我们相信这些数据和它 无法操纵 ,为什么我们需要额外的检查?另一方面,如果它可以被操纵,那么这个措施如何防止简单地将相同的请求传递到我的服务器并使用返回的 request_id作为创建操纵 signed_request 的一部分.

最佳答案

让我们分解一下,尝试了解signed_request的使用。

它说,
验证订单的最安全方法是使用 JavaScript 回调中的 signed_request 参数,因为该参数已使用 App Secret 进行编码,客户端无法对其进行操作。

The signed_request is encoded by Facebook servers using app secret that only Facebook & the App Developer knows. No other client will be able to generate signed_request without the secret key. Hence this is the most secure way to verify an order.



客户端如何操作signed_request?

如果您的网站易受 XSS 攻击,攻击者可以将 javascript 代码注入(inject)您的应用程序。

应用服务器如何知道 signed_request 不是由 Facebook 生成的?

当应用服务器收到signed_request 时,它必须验证singed_request 的签名。只有由 Facebook 生成签名验证才会成功,因为只有 Facebook 拥有您的 key 。

验证数字数据真实性的方法被称为 Digital Signature .

关于facebook-payments - 了解 Facebook 支付的履行流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54370512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com