第三方应用免密登录禅道


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

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

1、 通过禅道系统的免密登录

地址:http://192.168.100.170:88/zentao/api.php?m=user&f=apilogin&account={用户名}&code={代号}&time={时间戳}&token={生成的token}

标红部分不变,account 用户名 code 免密登录代号,time 时间戳 tokenMD5(代号+密钥+时间戳)

 

Eg.  Token = MD5(TestLoginqblpruzi3nx9xpypa2dcza3yfxwr3iyd1588987060)

zt_entry 表里可以查到,代号,密钥。

Code:是免密登录的代号,管理员用户在后台-二次开发-应用模块配置

UserName:登录禅道用户名

 

 

通过链接可以跳转到该用户的我的地盘

 

这种方法可以登录成功,但是没有验证第三方应用的账号密码,很不安全。

2、第二种方式,是在验证登录第三方应用的同时,调用方法生成一个sessionid,写到session里。登录禅道的时候取sessionid去登录禅道

(1)调用禅道接口生成sessionid

  

获取禅道SessionID

调用接口返回一个SessionNameSessionId。访问禅道的接口都需要带上SessionId

GEThttp://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去登录

POST: 
http://192.168.100.170:88/zentao/sso-login-notify.json?zentaosid=c5ecbbmvvr4qqcnc1fkip1b5p4 

参数:

{

  "account": "", --用户名

  "password": "" --密码

}

可以实现登录


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM