【问题标题】:securing stripe secret key with server side使用服务器端保护条带密钥
【发布时间】:2021-12-22 11:22:21
【问题描述】:

我只是想了解如何安全地存储条带密钥。

当然,我不应该在应用程序上硬编码。

我在大多数教程中看到秘密值保存在服务器中。然后它被检索以拨打电话。这不能简单截取吗?

提出这样的请求。这需要一个秘密才能传入。我正在使用放大 graphql。

 var response = await http.post(Uri.parse('https://api.stripe.com/v1/payment_intents'), body: body, headers: {
        'Authorization': 'Bearer sk_test_51JtrW7EI6WXcFFnPxSxwCIm24D8Gjj3e6hzxch4009kFOsXo7',
        'Content-Type': 'application/x-www-form-urlencoded'
      });

【问题讨论】:

  • 如果您使用 AWS(因为您使用了这些标签),您可以使用密钥管理器将其存储在那里
  • @blurfus 看起来确实是个不错的选择。我目前正在使用 graphql api。我认为这个功能基于restapi方式。有任何关于在颤振上实现它的参考吗?谢谢
  • 如果密钥存储在服务器上,那么它应该充当客户端和条带之间的代理,因此客户端应该调用服务器上的某些函数来执行请求
  • @smac89 这个基于密钥的操作应该在服务器端自行处理,对吗?函数不应该返回密钥?
  • 本质上就是这样:客户端代码与服务器代码对话,服务器代码与条纹对话

标签: api dart aws-lambda stripe-payments aws-amplify


【解决方案1】:

我在大多数教程中看到秘密值保存在服务器中。然后检索它来拨打电话。

大多数 Stripe 教程显示客户端/网页/移动应用程序从您的服务器获取可发布密钥。该密钥(按设计)是公开的。

这种方法尤其适用于您无法动态更新可发布密钥的移动应用程序,您需要通过完整的 App Store 审核才能获得应用程序的新版本,但从服务器获取它可以让您轻松更新如果需要,一个可发布的密钥。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-19
    • 1970-01-01
    • 2019-02-05
    • 1970-01-01
    • 1970-01-01
    • 2011-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多