zentaoPHP框架API机制

需要登录验证的api调用 分享链接

作者:禅道团队 最后编辑:马喆 于 2024-11-04 16:22:08 浏览量:5353
摘要:在使用api机制进行集成的时候,有的应用场景会涉及到会话登录。这种情况下面会话调用需要经过下面的三个步骤:

在使用api机制进行集成的时候,有的应用场景会涉及到会话登录。这种情况下面会话调用需要经过下面的三个步骤:

一、获得session。

首先要访问api模块的getSessionID方法,获得session。

GET方式:?m=api&f=getSessionID&t=json

http://your-zentao.com/index.php?m=api&f=getSessionID&t=json

PATHINFO: api-getsessionid.json

http://your-zentao.com/api-getsessionid.json

返回的格式中包含sessionName和sessionID。

{
    "status": "success",
    "data": {
        "sessionName": "zentaosid",
        "sessionID": "a7sd6f8g7s8df68gs7df6g"
    }
}

在后续的访问中,必须以cookie的方式

// 设置cookie示例
document.cookie = "zentaosid=a7sd6f8g7s8df68gs7df6g";

或者GET方式,将session传递给服务器。简单的方式就是在请求的url地址后面追加$sessionName=$sessionID。

http://your-zentao.com/index.json?zentaosid=xxxxxxx

注意:上面地址中的sid参数名称可以在config文件里面通过 $config->sessionVar 设置,比如禅道config/config.php文件中,在禅道的代码中查看具体的定义方式。

 $config->sessionVar = 'sid' #老版本
 $config->sessionVar = 'zentaosid' #新版本


二、验证用户身份。

然后可以访问user模块的login方法,来进行用户身份的验证。用户身份验证,需要提供用户名和密码,以post方式传递给user-login方法。变量名为: account, password。

GET方式:

http://your-zentao.com/index.php?m=user&f=login&account=youraccount&password=yourpassword&zentaosid=yourzentaosid

PATHINFO: 

http://your-zentao.com/user-login.json?account=youraccount&password=yourpassword&zentaosid=yourzentaosid


三、调用相应的API。


用户验证通过之后,就可以通过页面调用的api,或者超级model调用的api来获取相应的数据了。

备注:

目前该功能还只有在禅道项目管理软件中实现,蝉知门户和然之协同暂时还没有实现。

返回顶部
刘璐
高级客户经理
18562550650
2845263372
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。 问题反馈反馈点击这里,让我们聆听您的建议与反馈。