• 快站
  • 畅言
帮助中心
单点登录 Php版Demo

亲爱的站长,如果你的网站采用Php语言开发,可以参考下面的Php版单点登录Demo

1、开启单点登录服务

首先在你的畅言后台 设置-PC端设置-单点登录,勾选单点登录框,按需要上传登录头像,填写你的登录页面,最后完成三个接口地址填写,如下图所示。(注:如果对三个接口的含义不明确,请参照单点登录接口文档

2、开始编写你的接口代码

获取用户信息接口

changyan_sso::getuserinfo();

class changyan_sso {
    public static function getuserinfo(){
        global $wgUser; 全局变量
       (注意:$wgUser变量用来表示用户在您网站登录信息,该变量得开发者自己实现,
	   实现方式一般是通过cookie或session原理)
        if($wgUser->getId()!=0){
            $ret=array(  
            "is_login"=>1, //已登录,返回登录的用户信息
            "user"=>array(
            "user_id"=>$wgUser->getId(),
            "nickname"=>$wgUser->getName(),
            "img_url"=>"",
            "profile_url"=>"",
            "sign"=>"**" //注意这里的sign签名验证已弃用,任意赋值即可
            ));
        

        }else{
            $ret=array("is_login"=>0);//未登录
        }
        
        echo $_GET['callback'].'('.json_encode($ret).')';
        
    }
}
	
	

用户登出接口

if($wgUser->getId()==0){
    $return=array(
    'code'=>1,
    'reload_page'=>0
    );
}else{
    $mwuser->logout();
    $return=array(
    'code'=>1,
    'reload_page'=>1
    );
}
	

当首次加载测试页时,两者都未登录,出现单点登录按钮,如图所示:

畅言调用userinfo接口查看网站用户是否登录,这里userinfo接口返回未登录

点击单点登录按钮,跳转到登陆页面,如图所示:

登录成功后,刷新页面,发现畅言和网站两者均已登录,且评论框底部登录按钮也已消失。如图所示:

这是因为userinfo返回登录时,畅言会根据其返回的参数再次登录。如图所示:

当在畅言退出时,会调用网站的登出接口,实现同步登出,接口请求如图所示:

这样就大功告成了!您学会了吗?