关于refresh_token失效了,session还没失效得情况(这样就不是完全由token控制了)

来源:5-12 实现基于token的SSO(2)

用银河口袋的露娜

2019-10-10

 if (error.status === 500 && error.error.message === 'refresh fail') {
            // this.logout();
            window.location.href = 'http://auth.imooc.com:9090/oauth/authorize?' +
              'client_id=admin&' +
              'redirect_uri=http://admin.imooc.com:8080/oauth/callback&' +
              'response_type=code&' +
              'state=abc';
     }

我手动把浏览器得cookie删掉了,认证服务器session还是有的。我刷新页面我还是登陆进来了,因为session没有消失所以不用登陆就可以拿到token了,那应该怎么解决啊。。

写回答

1回答

JoJo

2019-10-14

这...因为我们一般把refresh_token设成1个月,session设成5分钟,所以没碰到这种情况。如果你一定要改这里,需要改Spring Security的底层机制,就是把SecurityContextPersistenceFilter里SecurityContextRepository的实现,从HttpSessionSecurityContextRepository替换为你自己写的,依赖cookie中的token的实现。

0
0

Spring Cloud微服务安全实战 可落地的安全方案

从API到复杂微服务场景,实战部署可落地的安全方案。

1029 学习 · 370 问题

查看课程