第三方应用免密登录禅道
作者:互联网
记录一下第三方应用想通过免密登录直接跳转到禅道。
通过尝试可以有两种方式实现:
1、 通过禅道系统的免密登录
地址:http://192.168.100.170:88/zentao/api.php?m=user&f=apilogin&account={用户名}&code={代号}&time={时间戳}&token={生成的token}
标红部分不变,account 用户名 code 免密登录代号,time 时间戳 token:MD5(代号+密钥+时间戳)
Eg. Token = MD5(TestLoginqblpruzi3nx9xpypa2dcza3yfxwr3iyd1588987060)
zt_entry 表里可以查到,代号,密钥。
Code:是免密登录的代号,管理员用户在后台-二次开发-应用模块配置
UserName:登录禅道用户名
通过链接可以跳转到该用户的我的地盘
这种方法可以登录成功,但是没有验证第三方应用的账号密码,很不安全。
2、第二种方式,是在验证登录第三方应用的同时,调用方法生成一个sessionid,写到session里。登录禅道的时候取sessionid去登录禅道
(1)调用禅道接口生成sessionid
获取禅道SessionID
调用接口返回一个SessionName,SessionId。访问禅道的接口都需要带上SessionId。
GET: http://192.168.100.170:88/zentao/api-getsessionid.json
响应:
{"status":"success","data":"{\"title\":\"\",\"sessionName\":\"zentaosid\",\"sessionID\":\"c5ecbbmvvr4qqcnc1fkip1b5p4\",\"rand\":9126,\"pager\":null}","md5":"fdc017fc4453f4c7d0d2daa72565cc90"}
取到sessionID的值。
(2)用生成的sessionid去登录
用zentaosid去登录
http://192.168.100.170:88/zentao/sso-login-notify.json?zentaosid=c5ecbbmvvr4qqcnc1fkip1b5p4可以实现登录
标签:免密,登录,192.168,sessionid,代号,禅道 来源: https://www.cnblogs.com/dujingxin/p/13644882.html