欢迎光临
我们一直在努力

TIM3.0 SSO单点登录探究

  说实话TIM2确实好用,TIM3都不知道是什么辣鸡也敢升级!是打算替代某钉还是想做成企业微信的电脑版?
  之前用的TIM2好好的呢,然后腾讯宣告不支持了,无法验证通过密码(记住密码的可以继续用,记住密码也有个周期,也就是周期结束的话还是要被强制升级的),于是升级到了TIM3。在登录论坛是发现单点登录貌似无法使用,主要因为论坛每过一段时间就要重新登录,没有SSO那就相当的麻烦。那今天就来研究一下到底哪里出了问题吧。
  接下来进入正题,为毛线TIM3,这么辣鸡。到底是什么阻碍了我的SSO正常使用。
  首先打开浏览器,SSO登录论坛,抓取到TIM3如下数据,

TIM3.0 SSO单点登录探究



  在Chrome(实际为ChromeCore)中可以看到,当我打开SSO登录时,内部实质是嵌套了这么个东西,也就是直接从这个嵌套的iframe来分析就完事了,外面的东西略过。
  可以看到,在Chrome中打开SSO的时候,我们是有Requests Cookies和Response Cookies的。Requests Cookies是从本地提交给服务器的Cookies,一般是记住上一次使用过的Cookies或者是本地生成了一个。至于是哪种,暂时不需要仔细研究。另外的就是Response Cookies,这个是服务器返回的新的Cookies,一般首次打开网页或者用户成功认证后通过服务器Set-Cookie设置。

TIM3.0 SSO单点登录探究



  localhost.ptlogin2.qq.com的解析是127.0.0.1,就是本机回环地址。可以看到,从xui.ptlogin2.qq.com到localhost.ptlogin2.qq.com时,没有带入新的Cookies,也就是跨域存在问题,再来看IE浏览器,不存在问题,可以跨域。所以问题到这里很明显了,那就是老版本的TIM2或者QQ,都是存在安全问题的(这是我猜测的),根本没有代入pt_local_token参数,或者说没有认证pt_local_token。这不仅仅是个跨域上的问题,也是安全问题,在新版QQ和TIM3上无法继续使用SSO,这并不是阉割,是次安全更新。本来我是想说某讯你是小学生开发的么?

TIM3.0 SSO单点登录探究

TIM3.0 SSO单点登录探究



TIM3.0 SSO单点登录探究



TIM3.0 SSO单点登录探究



  SSO的基本原理可以理解为这个样子的,先获取pt_local_token,然后访问localhost.ptlogin2.qq.com(127.0.0.1),提交给本地的接口。从下图可以看出来,4301、4303、4305、4307、4309这些端口都是可以被SSO使用,也就是全部都是单数这样规律来遍历获取。然后接口返回UIN等用户信息(注意这个步骤不是登录,本章内容不涉及,避免大家做坏事),如果全部遍历后没有正常获取参数那就SSO获取失败了。

TIM3.0 SSO单点登录探究



  至于如何解决?解决正确的代入pt_local_token就能解决。

赞(0) 打赏
未经允许不得转载:哈哈网 » TIM3.0 SSO单点登录探究

相关推荐

  • 暂无文章

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏