我试图系统化我的oauth + jwt + LDAP授权知识。我已经阅读了多篇优秀的文章(例如这篇),但仍有以下问题:
我的理解:
- JWT是一种令牌,允许单点登录(SSO)。它比简单的令牌认证更安全,因为它加密了所有用户特定信息(例如用户名、密码、客户端应用程序ID、IP地址等)。此信息使用内部授权服务器密钥进行签名,攻击者无法更改。
- 从这里看下面的短语。据我所知,这意味着每个HTTP前端服务器不需要查找会话数据。但它需要查找授权服务器。好处是什么?这不还是同一个故障点吗?为什么JWT被认为是无状态的?JWT仍然需要在授权服务器上保存用户数据,对吗?
服务器端存储问题已经解决。
- 如果您需要在JWT过期前注销用户,则需要保留黑名单。那么相对于没有SSO的简单令牌认证,有何好处?
- JWT是OpenID(仅限身份验证)的实现吗?
- 使用JWT(令牌)在服务器之间进行自动登录是不可能的,除非使用OAuth。当您想要代表用户授权某个服务的请求而无需用户参与时,使用OAuth。 为什么使用令牌不可能实现,但使用OAuth则可以?