我有后端和前端应用。在后端,我正在使用RSA私人 +公共密钥来发出JWT。我知道永远不要共享私钥,但是公共密钥呢? 我正在将Next.js用于前端,我想渲染或不根据用户在JWT中的角色渲染某些组件。假设我有某种

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

*注意:重要的是要了解我不是在谈论常规API端点以获取任何类型的数据。在这种情况下,我将仅返回403,公共密钥仅在后端侧使用(因此不暴露)。我只谈论前端。

我最终得到了:

在前端侧检查是否有必要角色(没有验证,所以很快)

    如果是的,那么我正在调用后端上实现的单独 /端点,以验证JWT是否有效,未过期并且包含所需的角色。
  1. 如果后端验证了一切都还好,那么我在UI上进行了渲染。
  2. 这可能是不好的方法(因为即使我是管理员,我也需要等待其他请求完成),但它有效。关于服务器端渲染的评论中有一个提及,但我没有足够的时间来研究和实施此问题,即使这可能是要走的路。

spring next.js spring-security jwt
© www.soinside.com 2019 - 2025. All rights reserved.