第三方应用配置免密登录禅道

禅道11.5.1版本开始,增加第三方应用免密登录禅道的功能。

下面,我们来介绍一下免密登录的具体配置。

一、添加应用,开启免密登录

登录禅道,到后台—二次开发—应用,添加应用时开启免密登录。

只有免密登录,选择开启后方可使用。

8.2.10 第三方应用配置免密登录禅道 - 图1

二、免密登录的签名机制

以图中红框内容为例,假设你的禅道访问地址为www.zentao.net 或者 http://47.105.128.128/biz

我们的请求格式则为:http://www.zentao.net/api.php?m=user&f=apilogin&account=account&code=test&time=timestamp&token=token或者 http://47.105.128.128/biz/api.php?m=user&f=apilogin&account=account&code=test&time=timestamp&token=token

8.2.10 第三方应用配置免密登录禅道 - 图2

说明:

m:模块名,是固定的,不可更改。

f :方法名,是固定的,不可更改。

account:你想要登录的用户名,该用户需存在于禅道系统中。

code:应用代号。

time:当前时间戳,php可用time()函数获取。时间戳只一次有效,下次免密登录时,需要刷新页面。

token:算法为:code、应用密钥、time()字符串合并,再进行 md5 加密。

  1. $code = 'test';
  2. $key = 'a5246932b0f371263c252384076cd3f0';
  3. $time = '1557034496';
  4. $token = md5($code . $key . $time);

三、错误提示

401 缺少参数或应用未设置密钥

403 被限制访问

404 应用不存在

405 token已失效

406 用户不存在