XH通用登录v1.1及以上版本

2024-06-05 12:40 更新

该版本功能说明:

比如我现在登录了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,建议定期更换;

请求参数:

变量名示例值说明是否必填
server127.0.0.1你部署的dzzoffice地址。必填
usernamechenchen用户名;需要base64_encode编码。必填
email320316@qq.com邮箱;需要base64_encode编码。必填
tokeneb1b49339b50160632a3c01057e49e70加密token;需要md5编码。必填
time1687428252以秒为单位的时间戳;需要base64_encode编码。可选
mobile手机号。需要base64_encode编码。可选
weixinid微信号。需要base64_encode编码。可选
linkhttp://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编码之后则最终请求为: http://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数据库,则自动登录。如果不存在,会根据用户名和邮箱帮其注册后再自动登录(新用户采用的是预设密码,可用管理员账户登录管理后台给用户设置默认密码)。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号