日期:2014-05-17  浏览次数:20773 次

请教下QQ的 CS和BS结合的SSO实现问题,散大分
当我们现在在本机登录了QQ客户端之后,当你从QQ客户端面板进入QQ的任何产品:空间 邮箱 微博等都是自动登录了你的账号的,这个是如何实现的
我在从QQ客户端进入QQ空间时 截图了这么一个跳转的连接

完整的跳转地址如下:
http://ptlogin2.qq.com/jump?ptlang=2052&clientuin=qq号&clientkey=BA863998CC97F0CDB9936791C8EFD1CE378F31BFA0A0EC296860B478DC8519F6&u1=http%3A%2F%2Fuser.qzone.qq.com%2Fqq号%2Finfocenter&ADUIN=qq号&ADSESSION=1365301883&ADTAG=CLIENT.QQ.5065_Mysrv.0&ADPUBNO=26141

我们可以看到这个URL中的两个关键的参数:clintuin(我的QQ号),clintkey(QQ对我电脑的标识)
我初步的猜想是不是QQ校对参数里面的key和uin(这个key再客户端登陆的时候就算好并且记录下服务器上)
如果是校对成功,就算这个号码登陆成功
因为是直接拷贝上面的那个完整连接到IE浏览器中  出现的也是我的QQ登陆信息
元芳,你怎么看的???

但是如果你不是从QQ面板进入:
大家应该会经常看到下图:


浏览器会说已经检测到你的QQ账号已经登录了,这个功能又是如何实现的呢??插件直接读取本地上的信息?但是我记得我的浏览器没有装过QQ相关的插件,不知道L下的各位有没有研究过这两个问题呢
欢迎大家讨论,300分送上
qq sso cs bs

------解决方案--------------------
这些,人家都写好的有api了,你只需要做的是看人家的api调用人家的东西过来,把你的key和id传进去就好了
------解决方案--------------------
QQ登录了会在服务器更新状态,我估计如果是网页登录的话不会在服务器更新状态,所以服务器一检测就不给你登陆了,因为你的QQ没有登录,我是这么简单的认为的,另外那个key,就是你的密码吧.....只不过做了一些转换而已
------解决方案--------------------
插件找到了,可能你安装QQ的时候就给安装了C:\Program Files (x86)\Common Files\Tencent\TXSSO\npSSOAxCtrlForPTLogin.dll,其他等大神们讨论
------解决方案--------------------
引用:
引用:插件找到了,可能你安装QQ的时候就给安装了C:\Program Files (x86)\Common Files\Tencent\TXSSO\npSSOAxCtrlForPTLogin.dll,其他等大神们讨论

是的,我也发现了这个dll,那么像chrome,firefox上如何使用的呢,这个dll又是什么功能呢
继……

这个好像有人研究过检测本机是否登录了指定QQ账号