鉴于OpenID Connect使用JWTs进行身份验证,如何确保安全性?

鉴于OpenID Connect使用JWTs进行身份验证,如何确保安全性?,jwt,openid-connect,Jwt,Openid Connect,因此,我试图了解各种登录(身份验证)机制,大概有3种方法可以做到这一点,即:(如果我错了,请纠正我): 会话(有状态) JWTs(无状态和有状态) OpenID连接 这篇博文()涵盖了JWTs在维护会话时的许多缺点。当我读到OpenIDConnect时,发现他们使用JWT令牌作为ID令牌来验证用户。这篇博文描述了XSS攻击、恶意javascript代码窃取令牌(令牌信息)等缺点 那么,OpenID Connect如何确保其身份验证和会话维护是安全的呢 此外,如果JWT被用作“短期一次性使用令

因此,我试图了解各种登录(身份验证)机制,大概有3种方法可以做到这一点,即:(如果我错了,请纠正我):

  • 会话(有状态)
  • JWTs(无状态和有状态)
  • OpenID连接
这篇博文()涵盖了JWTs在维护会话时的许多缺点。当我读到OpenIDConnect时,发现他们使用JWT令牌作为ID令牌来验证用户。这篇博文描述了XSS攻击、恶意javascript代码窃取令牌(令牌信息)等缺点

那么,OpenID Connect如何确保其身份验证和会话维护是安全的呢


此外,如果JWT被用作“短期一次性使用令牌”,那么如何让用户保持登录,而不在每隔几分钟/小时后提示他们重新登录?

通常,在使用OpenID Connect登录后,访问和ID令牌会返回到后端客户端。然后使用ID令牌创建传统会话cookie。然后,ID令牌被丢弃。一旦建立了会话cookie,这就是保持用户登录的方式。ID令牌通常具有非常短的生存期。然后,访问令牌的目的是访问其他API和资源

如果您遵循现代原则,那么在使用OpenID Connect时不应该存在任何安全问题

为了保证安全并降低复杂性,我建议不要使用JavaScript处理令牌,除非您真的知道自己在做什么