第三方應用免密登錄禪道


記錄一下第三方應用想通過免密登錄直接跳轉到禪道。

      通過嘗試可以有兩種方式實現:

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