新浪微博passport登录原理

来源:互联网 发布:淘宝客 编辑:程序博客网 时间:2024/06/15 13:17

对新浪的passport的流程进行了简单的分析,未深入研究

 

新浪的passport实现主要依托js进行实现,用户登录流程

1.首先请求地址http://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.3.22) 不同js版本地址可能不同;

发送的参数主要包括加密的原始参数、加密后的用户名、密码以及一些入口信息等,用户名、密码的加密方法可以通过查看js看到;client指定的是客户端使用的哪个js进行参数处理;

2.server端验证参数是否正确,如果正确,返回跨域的处理的url。由于新浪的所有产品都统一使用新浪的passport,比如weibo、uc等产品就存在了cookie的跨域问题,需要对这些跨域cookie进行处理,如果是sina.com域下的产品,则不需要执行返回的url,如果是其他域的产品,需要继续执行返回响应域的url;

 

以新浪微博为例;

1.请求http://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.3.22)以后;

2.如果登录成功以后,获取跨域的url http://weibo.com/ajaxlogin.php

3.执行跨域url http://weibo.com/ajaxlogin.php?framelogin=1&callback=parent.sinaSSOController.feedBackUrlCallBack

完成了新浪微博的登录

 

完全可以使用HttpClient模拟登陆新浪微博

点击打开链接

1 0
原创粉丝点击