Ucenter原理及第三方应用会员整合

一、 Ucenter介绍及原理

        1)介绍

              Ucenter的中文意思就是“用户中心”,其中U代表User也就代表You, 其含义就是 “用户中心”,它是Comsenz旗下各个产

              品之间信息直接传递的一个桥梁。可以实现多个应用之间同步登录、同步注册、同步退出等功能。

              Ucenter 分为用户端(uc_client)和服务端(uc_server)。  应用可以调用用户端提供的API接口来实现功能。

                

        2)实验环境说明

              实验环境说明:    discuzX3.2、Ucenter1.6、MyAPP(自己的网站)

              实验最终效果:    discuz 与 MyApp 通过Ucenter实现同步注册、同步登录、同步退出功能

             

        3)Ucenter整合应用原理

              1)在MyApp应用中登录的代码处调用 uc_client 中的 uc_user_login 函数,该函数主要的作用是验证用户和密码是否存在

              2)如果存在,则继续调用uc_user_synlogin,其实就是发送一个请求到Ucenter中,由Ucenter中的index.php文件来处理请求

              3)Ucenter_server接收请求后, 将请求转发到应用中。 就是用<script src=""></script>格式来请求 ,请求的地址是各个应

                    用中的 api/uc.php 中。 

              4)api/uc.php 接收请求后, 访问相应的方法,来执行相应的操作, 如设置cookie等

             

二、 Ucenter部署应用


        1)登录Ucenter管理后台,点击应用管理,默认情况下discuz和Ucenter已经通信成功,如下图所示

                      Ucenter原理及第三方应用会员整合_第1张图片


        2)点击添加新应的操作。 将MyAPP自己的应用信息添加到Ucenter上。 

                      Ucenter原理及第三方应用会员整合_第2张图片


        3)应用目录结构


            1) 在myAPP的应用根目录下,加入如下文件(如有多个应用,也都是一样的)  

            2) Ucenter的客户端程序, 也就是uc_client、api、config.inc.php 文件

            3) config.inc.php文件里的内容是添加应用时自动生成的内容,复制到文件里即可

        

         4) 通信失败的原因如下:

             1) 请求uc_server 下的admin.php文件,根据传过来的模块和方法来确定下一操作给哪个文件

                   (默认模块是: app  方法 onping)

             2) 根据admin.php文件的规则,则调用 control/admin/app.php文件, 并new一个对象,然后调用onping方法,是

                    否通信成功主要是这个方法来控制

             3) 在onping 方法里的 调用了 test_api方法,用这个方法来确定是否通信成功,这个方法在uc_server/model/app.php里

             4) 最后, 发送网络请求到自己的应用 api/uc.php 下。 此文件里有连接数据库的操作,确定连接的地址信息等是正否正确。

             5) 只要确保以上流程没问题,则通信成功。



三、 Ucenter整合应用

          1)部署自己的应用 

              1)在自己的应用中,引入uc_client/client.php ,和 config.inc.php 文件

              2)在自己登录程序中加入 uc_client/client.php文件里的uc_user_login 方法,验证成功后,

                   再调用异步登录方法uc_user_synlogin,此方法返回的是 js代码,<script src="应用的api地址"></script>,必

                   须输入到页面才会有效

             3) 输入信息之后, 会将请求转发到应用的 api/uc.php 文件里。 根据相应的参数, 来调用相应的方法,

                    如果是异步登录,就调用api/uc.php 文件里的 synlogin  方法,此方法就是设置 cookie,自己可以选择设置

              4)在相应的应用里来设置登录信息即可, 完成。

 

 

   




你可能感兴趣的:(Ucenter原理及第三方应用会员整合)