XH通用登录v1.1及以上版本
为了获取更多最新内容及功能更新,请直接访问我们的首页以查看DzzOffice笔记的最新地址。
该版本功能说明:
比如我现在登录了oa系统,用户名chenchen,邮箱123@qq.com。如果在dzz里边也有这个用户名,通过这个特殊链接打开dzz后就是该用户的帐号,如果dzz里没有,就会根据特殊链接里的帐号和邮箱在dzz里注册一个帐号再登录,注册的账号密码为默认密码,管理员可以修改默认密码。请求方式:跳转方式;请求地址:http://server/index.php?mod=xhlogin&token=XXX&mobile=XXX&weixinid=XXX&link=XXX
接口说明:验证成功后跳转到DzzOffice首页或者指定的页面。注意:该接口可以直接通过后端登陆某个账号,注意安全保密,切勿泄露XH通用登录KAY,建议定期更换;
请求参数:
变量名 | 示例值 | 说明 | 是否必填 |
server | 127.0.0.1 | 你部署的dzzoffice地址。 | 必填 |
username | chenchen | 用户名;需要base64_encode编码。 | 必填 |
320316@qq.com | 邮箱;需要base64_encode编码。 | 必填 | |
token | eb1b49339b50160632a3c01057e49e70 | 加密token;需要md5编码。 | 必填 |
time | 1687428252 | 以秒为单位的时间戳;需要base64_encode编码。 | 可选 |
mobile | 手机号。需要base64_encode编码。 | 可选 | |
weixinid | 微信号。需要base64_encode编码。 | 可选 | |
link | http://127.0.0.1/index.php?mod=corpus | 登陆后指定到的页面;需要url编码。 | 可选 |
token生成算法:
先到dzzoffice管理后台,在XH通用登录插件设置中查看或配置XH通用登录KAY。
base64_encode($username).'|'.base64_encode($email).'|'.md5($username.'+'.$email.'+'.$key)
如果开启了动态刷新token,就是下面的算法:
base64_encode($username).'|'.base64_encode($email).'|'.md5($username.'+'.$email.'+'.$key).'|'.base64_encode($time)
调用说明:
例如:假设key为768678,用户是admin,邮箱是cs@qq.com; token:base64_encode('admin').'|'.base64_encode('cs@qq.com').'|'.md5('admin'+'cs@qq.com'+'768678'); 结果为:"YWRtaW4=|Y3NAcXEuY29t|7f153fa925b1f298d243ec577092a0d7" 结果经过url编码之后则最终请求为: h
ttp://server/index.php?mod=xhlogin&token=YWRtaW4%3D%7CY3NAcXEuY29t%7C7f153fa925b1f298d243ec577092a0d7
调用示例(php):
$time=time();
$username = 'admin';
$email= 'cs@qq.com';
$key='768678';
$mobile=base64_encode('132345');
$weixinid=base64_encode('132345');
$link=urlencode('http://127.0.0.1/index.php?mod=corpus');
$token=base64_encode($username).'|'.base64_encode($email).'|'.md5($username.'+'.$email.'+'.$key).'|'.base64_encode($time);
$token=urlencode($token);
dheader("Location: http://127.0.0.1/index.php?mod=xhlogin&token=$token&mobile=$mobile&weixinid=$weixinid&link=$link");
注意: 1.如果用户名或邮箱已经存在dzzoffice数据库,则自动登录。如果不存在,会根据用户名和邮箱帮其注册后再自动登录(新用户采用的是预设密码,可用管理员账户登录管理后台给用户设置默认密码)。
更多建议: