首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OAuth令牌转换(对JWT不透明)

OAuth令牌转换(对JWT不透明)
EN

Security用户
提问于 2017-04-25 08:02:17
回答 1查看 3.3K关注 0票数 5

我看到了一些讨论,其中建议在API网关上使用OAuth令牌转换,从不透明令牌转换到JWT令牌。这种方法的优点和缺点是什么,谁应该使用它?

如果我们使用HTTPS,我认为这在令牌泄漏方面没有任何不同。两个缺点是现在客户端无法推断他们能做什么或者如果他们的令牌仍然是活动的,我们必须将所有的API都放在一个网关*后面。

*:我的意思是,只要他们与单个授权服务器交谈,我们也可以将他们放在n个网关后面,但这使AS的负载增加了n倍。

下面是一个示例talk https://youtu.be/BdKmZ7mPNns?t=901

EN

回答 1

Security用户

回答已采纳

发布于 2017-07-29 05:22:57

关于这一点,有一点意见:

现在,客户端无法推断他们能做什么,或者他们的令牌是否仍然有效。

存储JWT最安全的方法可能是httponly (防止XSS)安全cookie (+对XSRF采取措施)。如果这样做,客户端代码无论如何也不能直接检查JWT。

至于您最初的问题,我想它可以帮助您更好地控制吊销/会话过期。如果将JWT分发给最终用户,在到达"exp“之前,您是无能为力的(此参数已由发行人决定,这可能与您自己的策略不一致)。使用不透明标识符,您可以保持控制,并可以随时撤销访问。在某种程度上,您保持旧有的会话管理,同时仍然利用JWT进行委托身份验证。

http://cryto.net/~joepie91/blog/2016/06/13/stop-using-jwt-for-sessions/

与会话不同--服务器可以在任何时候让它失效--单独的无状态JWT令牌不能失效。从设计上看,无论发生什么,它们都是有效的,直到过期为止。

http://cryto.net/~joepie91/blog/2016/06/19/stop-using-jwt-for-sessions-part-2-why-your-solution-doesnt-work/

对于有状态服务,您为每个服务分发一个新的短暂的单用途令牌,然后在服务本身上交换该令牌,用于该特定服务上的会话。您从不使用令牌本身作为会话。

票数 4
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/158059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档