【问题标题】:Building an HTML Widget to embed paid content - how to secure communication with the backend?构建 HTML Widget 以嵌入付费内容 - 如何保护与后端的通信?
【发布时间】:2015-03-20 20:44:06
【问题描述】:

我正在创建一个小部件,当页面访问者付费时它会显示内容。我正在处理小部件内的付款表单,我正在使用 Stripe 处理信用卡、收费等。

我的问题是:我想让用户轻松地为内容付费,现在,我是我的工作概念证明,我只要求电子邮件,然后:

  • 检查我的系统上是否已经有这封电子邮件,与我的 API 服务器检查它是否有与此产品相关的付款,然后让用户访问内容。
  • 如果系统中不存在电子邮件,则会创建它,并仅返回 Stripe 可发布密钥。
  • 如果电子邮件存在,但没有与此产品相关的付款,只需返回 Stripe 可发布密钥。
  • 当小部件获取 Stripe 密钥时,它会显示用于获取 Stripe 令牌的支付(信用卡)表单,并且此令牌与电子邮件一起被发送回我的 API 服务器。如果一切正常,则小部件会检索内容并将其显示给用户。

现在,问题是:除了使用 HTTPS 之外,如何保护小部件和服务器之间的通信?我已经支持应用程序 id/secret 对,如何使用它们来验证从小部件到服务器的请求?小部件将插入到任意域的页面中,因此使用 Referer/Origin 标头是不可能的。

我认为这并不重要,但如果有帮助,我正在使用 Django 1.7 和 Django Rest Framework 3.0.5。

谢谢!

【问题讨论】:

  • 如果 iframe 会出现在您无法控制的页面上,您应该使用 iframe。

标签: javascript django rest authentication widget


【解决方案1】:

有一个你可以使用的 api,叫做CoinTent。它的子座右铭是“通过一个帐户和一键点击以低价格购买单个内容”。头头头头...

【讨论】:

  • 对于初学者来说,它仍处于测试阶段,甚至不清楚它在内部是如何工作的。无论如何,我的问题是关于保护和向已经运行的系统添加身份验证。
猜你喜欢
  • 2017-03-18
  • 2014-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-30
  • 2017-04-11
  • 1970-01-01
相关资源
最近更新 更多