【问题标题】:How to log out using KIWI-tcms api如何使用 KIWI-tcms api 注销
【发布时间】:2021-02-09 23:13:31
【问题描述】:

我使用 CURL 是为了让这个示例尽可能简单。我没有在 CURL 中实现最终版本,但我能够将 curl 示例转换为最终形式。

我正在使用 jsonrpc 版本的 api。实际凭据和 URL 替换为虚假信息

我可以这样登录:

curl 'http://kiwi.example.com/json-rpc/' \
  -H 'Content-Type: application/json' \
  --data-binary '{"jsonrpc":"2.0","method":"Auth.login", "params":{"username":"me@example.com", "password" : "PASSWORD"}, "id":"jsonrpc"}';

这会返回一个会话 id,出于这些目的,假设它是下面使用的“123456789abcdefghijklmnopqrstyvw”

然后我可以使用该会话 ID 执行以下操作:(只是任意 API 调用)

curl 'http://kiwi.example.com/json-rpc/' \
  -H 'Content-Type: application/json' \
  -H 'Cookie: sessionid=123456789abcdefghijklmnopqrstyvw' \
  --data-binary '{"jsonrpc":"2.0","method":"TestPlan.filter", "params":[{"is_active":true}],"id":"jsonrpc"}';

那么为什么这不起作用呢?或者,如果您愿意,我应该采取哪些不同的方式退出?

curl 'http://kiwi.example.com/json-rpc/' \
  -H 'Content-Type: application/json' \
  -H 'Cookie: sessionid=123456789abcdefghijklmnopqrstyvw' \
 --data-binary '{"jsonrpc":"2.0","method":"Auth.logout",  "id":"jsonrpc"}';

我希望在我注销后,会话 id 不再起作用,但我仍然可以使用它来访问 Kiwi-tcms 中的数据

【问题讨论】:

    标签: kiwi-tcms


    【解决方案1】:

    Auth.logout() 调用django.contrib.auth.logout(request),后者又调用request.session.flush()

    我希望在我注销后,会话 id 不再起作用,但我仍然可以使用它来访问 Kiwi-tcms 中的数据

    这确实是发生在我身上的事情:

    $ curl 'http://127.0.0.1:8000/json-rpc/' \
         -H 'Content-Type: application/json' \
         -H 'Cookie: sessionid=xyz' \
         --data-binary '{"jsonrpc":"2.0","method":"TestPlan.filter", "params":{"is_active":true}],"id":"jsonrpc"}';
    
    {"id": "jsonrpc", "jsonrpc": "2.0", "error": {"code": -32603, "message": "Internal error: Authentication failed when calling \"TestPlan.filter\""}}
    

    您可能正在使用旧版本的 Kiwi TCMS,它无法正确检查 API 凭据:https://kiwitcms.readthedocs.io/en/latest/changelog.html#kiwi-tcms-8-6-23-aug-2020

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-04
      • 2023-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多