kong+oauth+shiro踢出拉黑随笔

mymx2
mymx2 2019-09-06 11:36
阅读需:0

有状态的踢出、拉黑。必然要操作数据。没法像jwt一样无状态。


gateway oauth数据库模式应该可以。没去研究这里只是结合kong去实现。


思路:

kong的authenticatedUserid字段可以映射为userId + bearer + jwt以jwt作为shiro认证的头信息。

此时从kong网关过来的头信息应为

x-authenticated-userid

把shiro认证头信息改为这个。

然后每次经过登陆。refreshToken的时候有状态地去查询kong数据库。


kong的oauth为全局插件。特别添加匿名用户也是可以通过oauth的。此时要有一个双重认证,即kong oauth + shiro jwt。


注意:kong数据库为postgresql。如果要使用该库。要么单独做一个postgresql微服务单独连接。要么动态切换数据源。


只是想利用kong作为网关,不想做额外配置。不然刷新token的操作,即使自己建立一个拥有refreshToken的jwt表也是可以实现操作的。


评论
  • 消灭零回复