使用React和Pyramid(微服务架构)进行身份验证,如何存储"session data"?
Authentication using React and Pyramid (microservices architecture), how to store "session data"?
你好吗?
我..?好吧,我遇到了一些麻烦,哈哈!
我在项目中使用微服务 API 架构,其中 APIs 和网关 API 是使用 Python 的金字塔框架开发的,并且主要前端是用 React 构建的。
简单的工作流程图示:https://imgur.com/ifRLLOo
问题是: 我在哪里安全地存储经过身份验证的 "session data",如用户名,user_id,first_name?登录后,我不想向用户的 API 发出新的请求,只是为了获取这些将不断使用的信息。
我知道我可以将此编码数据存储在 JWT token
中并将令牌存储在 cookies
或 localStorage
中,但这是正确的位置吗?这是正确的过程吗?
如果这是正确的地方,我是否需要每次都将解码后的数据作为网关API 响应的一部分发送到前端?
感谢大家的阅读,希望大家能救救我!
您可以将 JWT 存储在 cookie 或 localStorage 中,这并不重要。我个人在 localStorage 中这样做。
关于您关于解码数据的问题,这是由后端处理的。您需要做的就是在每个 API 调用中包含 JWT,然后 API 将知道哪个用户正在调用,而无需来回发送数据。
我还建议您创建带有到期日期的令牌以增加安全性。
有关示例,您可以查看 pyramid_jwt
你好吗?
我..?好吧,我遇到了一些麻烦,哈哈!
我在项目中使用微服务 API 架构,其中 APIs 和网关 API 是使用 Python 的金字塔框架开发的,并且主要前端是用 React 构建的。
简单的工作流程图示:https://imgur.com/ifRLLOo
问题是: 我在哪里安全地存储经过身份验证的 "session data",如用户名,user_id,first_name?登录后,我不想向用户的 API 发出新的请求,只是为了获取这些将不断使用的信息。
我知道我可以将此编码数据存储在 JWT token
中并将令牌存储在 cookies
或 localStorage
中,但这是正确的位置吗?这是正确的过程吗?
如果这是正确的地方,我是否需要每次都将解码后的数据作为网关API 响应的一部分发送到前端?
感谢大家的阅读,希望大家能救救我!
您可以将 JWT 存储在 cookie 或 localStorage 中,这并不重要。我个人在 localStorage 中这样做。
关于您关于解码数据的问题,这是由后端处理的。您需要做的就是在每个 API 调用中包含 JWT,然后 API 将知道哪个用户正在调用,而无需来回发送数据。
我还建议您创建带有到期日期的令牌以增加安全性。
有关示例,您可以查看 pyramid_jwt