XH通用登录v1.1及以上版本
XH通用登录提供一种自动化登录的能力,任何合法的第三方应用都可以设置XH通用登录自动登录。举一个实际场景:当公司员工已经登录了OA系统,这时,他只需要点击一个由OA系统生成的特殊链接,便可以跳转并自动登录dzzoffice。
比如我现在登录了oa系统,用户名chenchen,邮箱123@qq.com。如果在dzz里边也有这个用户名,通过这个特殊链接打开dzz后就是该用户的帐号,如果dzz里没有,就会根据特殊链接里的帐号和邮箱在dzz里注册一个帐号再登录,注册的账号密码为默认密码,管理员可以修改默认密码。
说明: 该插件用于整合现有web系统,可以通过后端程序使某个用户直接登陆dzzoffice,实现单点登陆;该链接由其他系统进行拼接,不限编程语言。
请求方式:跳转方式;
请求地址:http://server/index.php?mod=xhlogin&token=XXX&mobile=XXX&weixinid=XXX&link=XXX
接口说明:验证成功后跳转到dzzoffice首页或者指定的页面。注意:该接口可以直接通过后端登陆某个账号,注意安全保密,切勿泄露XH通用登录KAY,建议定期更换;
请求参数:
变量名 | 示例值 | 说明 | 属性 |
host | 127.0.0.1 | 你部署的dzzoffice地址。 | 必填 |
username | chenchen | 用户名;需要base64_encode编码。 | 必填 |
邮箱;需要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:base64Encode('admin')+'|'+md5('admin'+'aabbcckod') base64_encode(admin).'|'.base64_encode(cs@qq.com).'|'.md5(admin+cs@qq.com+768678)
结果为:"YWRtaW4=|Y3NAcXEuY29t|7cbec6d456d0ac920a6b8bfd483236ed"
结果经过url编码之后则最终请求为:
http://server/index.php?mod=xhlogin&token=YWRtaW4%3D%7CY3NAcXEuY29t%7C7cbec6d456d0ac920a6b8bfd483236ed%7CMTY4OTM5MjkzOQ%3D%3D
注意:1.如果用户名或邮箱已经存在dzzoffice数据库,则自动登录。如果不存在,会根据用户名和邮箱帮其注册后再自动登录(新用户采用的是预设密码,可用管理员账户登录管理后台给用户设置默认密码)。2.系统管理员不支持此功能。官方版dzz可以购买该插件使用,购买地址:https://m.tb.cn/h.UzsXyVr?tk=cs8kdIIpY13
更多建议: