NextJS + NextAuth - 检查客户的订阅状态

问题描述 投票:0回答:1

我使用 NextJS 开发了一个购物应用程序,并使用 NextAuth 进行身份验证。我使用

CredentialsProvider
进行自定义身份验证。一切正常。身份验证成功后,我会将
customer_id
name
存储在会话中。

我面临的问题是,现在我们允许客户通过支付金额来订阅我们的产品(显示在我们的 NextJS 应用程序中)。因此,当付款成功时,我将在该特定客户的数据库中将

is_subscribed
字段存储为
true
。那么对于客户端显示部分,我应该将这个字段值存储在session中吗?

我发现的缺点是,如果取消订阅,则客户会话也需要更新。顺便说一句,我在 NextAuth 中使用 JWT 进行会话存储。因此,令牌的有效期默认设置为 7 天。因此,对于已经登录的客户,令牌将在 7 天后才会更新。

如何解决这种情况?

reactjs session next.js subscription next-auth
1个回答
0
投票

在这样的场景中,您需要依赖服务器数据作为事实来源,为了 UI 的缘故,您仍然可以在会话中保留一些内容,但是每当用户需要发出请求时,甚至您可以设置定期/间隔调用到您的用于检查订阅状态(如果为真)的 API,然后您可以继续用户进行更改。

© www.soinside.com 2019 - 2024. All rights reserved.