我们正在使用Loopback来编写我们的NodeJs API。
现在我们正在寻找一种定义并实现用户访问控制系统的方法,即我们将有10个子类型的管理员用户。
每个子类型都能看到一些动作,即每个子类型用户都可以访问某些端点,我们将手动定义这些端点。
现在要实现这个,我们得到了JWT,这似乎与我们想要的完全一致。它将以json格式存储所有角色和角色权限(api端点),我们将在jwt中编码,然后获取生成的访问令牌,我们稍后可以解码以检查有效性。
所以,流程应该是: -
a)任何用户登录,检查其在服务器端的角色,然后通过编码其权限来创建访问令牌。
b)下次用户发送此访问令牌时,在服务器端解码,获取用户可访问的内容,然后转发他或根据权限列表和当前请求的api端点给他错误。
因此可以在实际进入api端点之前检查权限。 (比如在Loopback中的server.js
中查看)
由于
答案 0 :(得分:0)
是的,除非您使用加密的JWT,否则JWT中的JSON信息可在客户端中访问。它只是base64编码。但是,由于JWT和JavaScript代码都可以更改,因此您无法信任客户端上JWT中的信息。但它存在GUI和其他非安全需求。