【发布时间】:2020-07-09 06:25:25
【问题描述】:
我有一个后端,它公开了一个 RESTful API,它目前“对所有人免费”(但使用 https)。
我现在想添加 RBAC(基于角色的访问控制),而 JWT 似乎是可行的方法,我阅读了很多有关 JWT 的信息,但没有看到使用 RSA 而非 SHA 签署令牌的优势。
假设用户已经通过身份验证并获得了一个密钥,无论是共享的还是公共/私有的。
现在,在我看来,在这两种情况下 - SHA 或 RSA HMAC - 双方(客户端和服务器)都必须拥有共享密钥,或者在 RSA 的情况下它们的私钥/公钥的一半。并且服务器必须根据 JWT 中的声明找到该密钥(在表或数据库中),以验证令牌的签名。一旦它在 JWT 中确认了声称的用户,它将使用配置的角色授权请求。
那么 RSA 在这种情况下的优势是什么?
【问题讨论】: