如何解决如果我的应用程序托管在S3 / Cloudfront上,则路由受保护会遇到问题
LE:通过在Cloudfront中为403和404创建自定义错误页面并将“错误缓存最小TTL”设置为0(而不是60)来解决此问题。
我刚刚将我的React应用程序部署到S3 / Cloudfront(用户遍布世界各地,因此我需要快速加载它),并且受保护的路由存在问题。为了保护它们,我正在致电/ auth / me,以查看用户是否具有(httpOnly)cookie。来自express-session在我的开发环境中,这很好。但它在生产中表现怪异。我可以登录并查看应用程序中的数据,但是如果刷新页面,则会重定向到登录页面。如果再次刷新,我将返回我的应用程序。
cookie仍然存在,但是就好像该应用程序不允许API调用结束,并将用户直接视为未登录一样。再次刷新后,我也从/ login收到404错误。我在S3中将error.html和index.html页面都设置为index.html,因为否则我会得到很多404。
除了检查用户是否通过API调用登录之外,还有其他选择吗?我的用户ID是用BSON ObjectID生成的,因此我想到了将ID(我认为是随机且唯一的)存储在localStorage或可以在不调用API的情况下检索到的非安全cookie中,然后验证权限需要时在服务器端。这是一个坏主意吗?将ID存储在客户端仍然可以访问的已签名JWT中会更安全吗?
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。