【发布时间】: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