[单点登录]Ucenter跨域设置cookie的原理、流程、关系图
2017-12-11 15:22
549 查看
一、原理简介依赖两点:authcode()函数和P3P协议两种模式,mysql模式,http模式(即socket链接)
二、流程http模式下,同步登陆流程如下:web1 用client.php中的uc_user_login()去ucenter验证登陆,完成后----->调用uc_user_synlogin()--->uc_api_post()发送到ucenter下control/user.php的onsynlogin()接口--->返回 <script src=“”></script>字符串(如下同步登陆参数)----->通过web1将<script>显示在页面上------>从而,调用其他web的uc.php接口,例:"http://web2/api/uc.php?time......---->web2/3下的api/uc.php被调用--->在各自域名下写入cookie(参数从解析code=获得)。此时刷新web2页面------>初始化时读取cookie并解密------>获取uid并用client.php去ucenter获取详细信息。 code里面包含的参数可以在ucenter下control下user.php里面自定义,最好把password去掉,或者搞个假的。 同步登陆:<script type="text/javascript" src="http://web2/api/uc.php?time=1400039728&code=044bj0Z8Ik2ICL9%2BcsfTlSzG8g76vhwOBE%2BaSYsS2h6OL%2FPHstpaxG6OTWhzo4tOowKIe3wbwBsrzIMAbA" reload="1" ></script><script type="text/javascript" src="http://web3/api/uc.php?time=1400039728&code=0df9Y3rHuTyypP316DaB128t5rJJYaDrfzht2URojjaffo21rBuD2nYUtYpdy%2FXzo1WwTEGLX0PEOU%2F%2BoA" reload="1" ></script>
注意: 1、在web2、web3等各自应用里的uc_client/control、model在http模式下是没有用的,但在mysql链接模式下,是有效的。2、web2/3下的 uc_client/date/cache下的apps.php文件,在mysql模式下才会生成。3、ucenter/data/cache下的apps.php文件,只有在web2/3使用http模式下,才会更新。
三、流程图
http://www.cnblogs.com/zhongyuan/p/3665873.html
http://www.360doc.com/content/10/1027/10/2952237_64372584.shtml
http://blog.163.com/lijianwei_123/blog/static/1848928912010102712527952/
二、流程http模式下,同步登陆流程如下:web1 用client.php中的uc_user_login()去ucenter验证登陆,完成后----->调用uc_user_synlogin()--->uc_api_post()发送到ucenter下control/user.php的onsynlogin()接口--->返回 <script src=“”></script>字符串(如下同步登陆参数)----->通过web1将<script>显示在页面上------>从而,调用其他web的uc.php接口,例:"http://web2/api/uc.php?time......---->web2/3下的api/uc.php被调用--->在各自域名下写入cookie(参数从解析code=获得)。此时刷新web2页面------>初始化时读取cookie并解密------>获取uid并用client.php去ucenter获取详细信息。 code里面包含的参数可以在ucenter下control下user.php里面自定义,最好把password去掉,或者搞个假的。 同步登陆:<script type="text/javascript" src="http://web2/api/uc.php?time=1400039728&code=044bj0Z8Ik2ICL9%2BcsfTlSzG8g76vhwOBE%2BaSYsS2h6OL%2FPHstpaxG6OTWhzo4tOowKIe3wbwBsrzIMAbA" reload="1" ></script><script type="text/javascript" src="http://web3/api/uc.php?time=1400039728&code=0df9Y3rHuTyypP316DaB128t5rJJYaDrfzht2URojjaffo21rBuD2nYUtYpdy%2FXzo1WwTEGLX0PEOU%2F%2BoA" reload="1" ></script>
注意: 1、在web2、web3等各自应用里的uc_client/control、model在http模式下是没有用的,但在mysql链接模式下,是有效的。2、web2/3下的 uc_client/date/cache下的apps.php文件,在mysql模式下才会生成。3、ucenter/data/cache下的apps.php文件,只有在web2/3使用http模式下,才会更新。
三、流程图
http://www.cnblogs.com/zhongyuan/p/3665873.html
http://www.360doc.com/content/10/1027/10/2952237_64372584.shtml
http://blog.163.com/lijianwei_123/blog/static/1848928912010102712527952/
相关文章推荐
- 使用Cookie实现跨域单点登录的原理
- SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析
- SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析
- SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析
- SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析
- SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析
- ucenter中跨域cookie的设置解决办法
- SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析
- SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析
- SSO单点登录、ajax跨域重定向、跨域设置Cookie、京东单点登录实例分析
- SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析
- SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析
- Cookie跨域、虚拟目录, 实现通行证登录
- Django配置Ajax跨域调用/设置Cookie
- 通过P3P头实现跨域设置cookie
- Cookie同域,跨域单点登录
- jsp中设置http的P3P头实现跨域设置cookie
- 通过设置p3p头来实现跨域访问cookie
- Ajax跨域请求action方法,无法传递及接收cookie信息(应用于系统登录认证及退出)解决方案
- Ucenter同步登录原理解析