我很困惑,如果我应该在devise-token-auth (为每个请求发出新令牌)或knock 之间做出选择(发布一次json网络令牌并继续使用直到它过期或用户再次登录)
时间攻击:虽然有人可能会说令牌身份验证容易受到时间攻击,但他们的文档表示他们正在安全地比较令牌缓解时间攻击,如gist所述。 它仍有缺陷吗?
网络故障:为每个请求发出令牌是否有优势?并且如果here中提到的网络故障发生会发生什么?
窃取令牌:如果使用knock-JWT之类的东西,当有人以某种方式(通过在HTTP中拦截甚至使用客户端应用程序/扩展来启用HTTPS)时会发生什么捕获传出请求标头)窃取令牌? 他们可以使用它并获得最初给该用户的回复吗? 当某人以某种方式窃取由devise-token-auth发出的令牌时,会发生同样的情况吗? (它不会让它变得更难,因为他们无法继续使用令牌:使用被盗令牌发出请求有助于获取新令牌,因此可以无限制地与服务器联系,但是,两者都是他们不能联系,只有一个人可以使用其他人持有的令牌无法使用 - 这是优势还是劣势?)
在JWT的情况下是否可以继续发行令牌,是否值得这样做? (就像让服务器在每个请求后发出一个新的到期时出现一个新的令牌)
PS:我刚刚遇到这两个用于Rails的库,用于有效地管理与设计集成的令牌。如果有一个更好的 - 通常会用于电子商务,如API - 我可以使用它。