【问题标题】:REST-API users.list with the eppn带有 eppn 的 REST-API users.list
【发布时间】:2021-04-20 17:34:25
【问题描述】:

由于我们与 Rocket.Chat 进行了一些集成,因此我们确实使用 API 来创建、查询和订阅 Rocket.Chat 的系统用户。 我们使用 SAML 身份验证并使用 eppn 参数。

在与 eppn 进行火箭聊天时很容易搜索用户之前,因为您可以使用 API users.list 查询 eppn。

api/v1/users.list?query={"eppn":"eppn-of-user"}

我将Rocket.Chat升级到3.9版本后,发现无法使用users.list API查询eppn。

User 的结构发生了变化,现在 eppn 参数是 services.saml 的子参数。 我可以像这样在 MongoDB 中查询 eppn:

coll.find({'services.saml.eppn': "user-eepn"})

但无法通过 API 查询 eppn:

api/v1/users.list?query={'services.saml.eppn': "user-eppn"}

{
  "success": false,
  "error": "Invalid query parameter provided: \"{'services.saml.eppn': \"user-eppn\"}\" [error-invalid-query]",
  "errorType": "error-invalid-query",
  "details": {
    "helperMethod": "parseJsonQuery" 
  }
}

有人知道吗?

谢谢!

【问题讨论】:

    标签: mongodb meteor rocket.chat


    【解决方案1】:

    所以大家,我刚刚解决了我的问题,如果有人会遇到同样的问题。

    首先对于 EJSON 解析函数,查询必须这样写:

    api/v1/users.list?query={"services.saml.eppn": "user-eppn"}
    

    但第二个问题是 Rocket.Chat 不允许查询 services 参数。 是权限的问题,查询services参数,再查询eppn参数,必须有给User的权限。

    【讨论】:

      猜你喜欢
      • 2017-10-21
      • 2013-01-14
      • 2012-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-19
      • 2014-08-07
      • 2016-11-21
      相关资源
      最近更新 更多