其他分享
首页 > 其他分享> > 第三方应用免密登录禅道

第三方应用免密登录禅道

作者:互联网

记录一下第三方应用想通过免密登录直接跳转到禅道。

      通过尝试可以有两种方式实现:

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