仅当用户从 Stripe 成功购买时才允许他们进行有限访问

Posted

技术标签:

【中文标题】仅当用户从 Stripe 成功购买时才允许他们进行有限访问【英文标题】:Allowing users limited access only if they purchased successfully from stripe 【发布时间】:2020-06-23 20:31:55 【问题描述】:

我正在构建一个响应站点,用户可以在其中为页面上的内容购买“日”、“周”或“月”通行证。如果他们购买一日通行证,我只想让他们访问一天。每周和每月都一样。我正在使用 JWT 让用户保持登录状态。我不知道如何创建功能来验证他们是否仍然可以访问。希望得到一些帮助。如果有帮助,我也在使用 redux。

【问题讨论】:

【参考方案1】:

您需要开始单独考虑Authentication and Authorization。您的 JWT 正在(希望)执行身份验证职责。您要询问的“有限访问”是授权的关注点。换句话说:既然您知道这个用户是谁,那么他们可以做什么?

您需要将您的 JWT 映射到某种形式的内部用户 ID,然后确定它们是否可以访问所请求的资源/端点/等。

例如,您可能允许所有用户从 /jobs GET 以查看职位发布列表,但如果他们尝试从 POST/apply 获取职位,您验证他们是“高级”用户,他们的付费订阅还有剩余时间。

【讨论】:

以上是关于仅当用户从 Stripe 成功购买时才允许他们进行有限访问的主要内容,如果未能解决你的问题,请参考以下文章

使用 Stripe 付款创建复杂订单

仅当用户在 Laravel 5.7 中处于活动状态时才登录用户

SaltStack:仅当目录存在时才使用目录作为源

仅当窗口处于焦点时才查找按键

仅当未使用 @azure/msal-react 进行身份验证时才重定向 onLoad

应用内购买成功导致部分用户崩溃