您好,欢迎访问一九零五行业门户网

curl 如何模拟登陆一个OAuth授权用户中心从而实现登陆其下面的各个子站?

问题概述:
通过php curl模拟登陆一个网站如http://www.aaa.com,通过fiddler抓包分析如下:
1、表单以post方式提交到http://www.aaa.com/dologin,这里产生了一个token:xxx,
2、服务器带着这个token跳转到了以下地址来登陆:
https://account.usercenter.com/login?token=xxx&target_url=http://www.aaa.com;
(注意域名不同,并且是https,此外这个携带token的url拷贝到任何电脑都能正常登陆,登陆成功后就会失效)
3、登陆成功后地址重定向到target_url:http://www.aaa.com
问题分析:
我的理解:有一台授权服务器,任何一台pc电脑访问携带有效token的url,pc和服务器之间通过cookie来保持这个token;
提出问题:
使用php curl该如何实现这个登陆模拟?
以下是我的代码:


不知通过cookie能不能实现这种登陆?各位大侠请指点~~
回复内容: 问题概述:
通过php curl模拟登陆一个网站如http://www.aaa.com,通过fiddler抓包分析如下:
1、表单以post方式提交到http://www.aaa.com/dologin,这里产生了一个token:xxx,
2、服务器带着这个token跳转到了以下地址来登陆:
https://account.usercenter.com/login?token=xxx&target_url=http://www.aaa.com;
(注意域名不同,并且是https,此外这个携带token的url拷贝到任何电脑都能正常登陆,登陆成功后就会失效)
3、登陆成功后地址重定向到target_url:http://www.aaa.com
问题分析:
我的理解:有一台授权服务器,任何一台pc电脑访问携带有效token的url,pc和服务器之间通过cookie来保持这个token;
提出问题:
使用php curl该如何实现这个登陆模拟?
以下是我的代码:


不知通过cookie能不能实现这种登陆?各位大侠请指点~~
之前的代码我是多次调试了如何携带cookie,不过应该是始终没有成功关联上cookie文件,不知道代码方面如何写携带cookie的代码。不过后来经过更多次调试后,发现http://www.aaa.com/dologin调用后,已经可以登陆本站,这个带有token的url只是一个sso,为了登陆其它子站。
感谢各位的解答~~
当然可以实现啊,你的理解没错。cookie中保存唯一的token,每次提交的时候都要携带token,登录成功后,token立即失效。
按流程有 肯定就是对的
其它类似信息

推荐信息