带有 SPA 应用程序和 API 的会话
Posted
技术标签:
【中文标题】带有 SPA 应用程序和 API 的会话【英文标题】:Sessions with SPA application and API 【发布时间】:2020-01-14 12:02:58 【问题描述】:我们正在使用带有 SPA (ReactJS) 的 ASP CORE 2.x (API),我需要知道跟踪用户会话的最佳策略是什么。该问题主要针对未经身份验证的用户,假设我们有一个购物车。购物车存储在数据库中,您如何保留访客用户的购物车项目?当猜测离开站点并返回时,我们需要显示购物车项目。
我计划让服务器生成一个会话并将其保存到客户端(在 cookie 中),但这意味着我需要从客户端站点调用“确保”会话到服务器......并且跟踪数据库中的会话。
有什么替代方案或建议吗?
【问题讨论】:
【参考方案1】:您可以将购物车项目保存到localStorage
,然后当用户回来时,只需对其进行补水。
如果你使用redux
,我会推荐redux-persist
。
【讨论】:
【参考方案2】:我会将客人的购物车与存储在购物车中的生成的 guid(ID? 您可以设置一些时间戳以定期从数据库中清除待处理的购物车。
【讨论】:
以上是关于带有 SPA 应用程序和 API 的会话的主要内容,如果未能解决你的问题,请参考以下文章
Symfony 4如何使用React设置SPA(单页面应用程序)?
OpenID Connect JWT 令牌验证和后端 api 的使用策略 - jwks 还是会话?
带有 Spring 会话的 Spring Security SAML
Web API 2 入门——使用ASP.NET Web API和Angular.js构建单页应用程序(SPA)(谷歌翻译)