Kong和JWT没有创造消费者

Mag*_*nus 7 jwt kong

我目前正在使用Kong API Gateway,我想用它来验证网关用户的身份验证,并在用户未正确登录时限制对服务的访问.我有一个身份验证服务,只要用户登录就会发出JWT.

我现在想与Kong分享JWT秘密并将其用于验证已发布的JWT以保护需要适当身份验证的服务.

我看了一下这个插件:https://getkong.org/plugins/jwt/

但似乎这个插件的工作方式与我想要实现的有点不同.为什么我要创建消费者?我希望在我的身份验证服务中只有一个用户数据库,以避免需要同步.看来这个插件的方法是为了让第三方利益相关者访问我的API.

任何提示都将受到高度赞赏.

小智 15

莱利给出的答案在实施中是正确的,但这并不是香港消费者的预期用途.

kong中的消费者是使用API​​的应用程序.因此,除非您有多个供应商使用您的应用/网络服务,否则我建议您创建一个消费者.

您可以为该使用者创建多个密钥和密钥对(JWT凭证).使用用户密钥和密钥为用户创建JWT.将此密钥和密钥与您的userID和其他详细信息一起存储在当前数据库中.使用这些创建JWT并将JWT返回给用户.

您要添加的其他任何内容都可以在创建JWT时添加到JWT中.您可以在Kong中为这些索赔创建支票.因此,当您调用任何API以及这些JWT时,将检查JWT的有效性(以及所有声明),然后才允许访问API.


Ril*_*ark 8

在我看来,Kong的JWT插件的设计并不想与你分享JWT的秘密 - 它想要完全拥有JWT.你确实必须为每个用户创建一个消费者,让Kong管理它.

我在Google Group上提出了几个问题要求确认 - 请参阅https://groups.google.com/forum/?fromgroups#!topic/konglayer/XHnVEGoxZqo

两个亮点:

您能否确认为每个用户制作一个消费者和一个凭证应该可以吗?

不仅如此,但这是推荐的方式:)

Kong会很乐意拥有200万单一api的消费者吗?那2亿多少?

从技术上讲,这不应该是一个问题,我建议您设置一个POC,您可以尝试更多的用户,以优化Kong和数据存储之间的连接,并确保我们正确调整一切.