由于我们与Rocket.Chat进行了一些集成,因此我们确实使用该接口来创建、查询和订阅Rocket.Chat的系统用户。我们使用SAML身份验证,并使用eppn参数。
以前,使用eppn在火箭聊天中搜索用户是很容易的,因为您可以使用users.list接口查询eppn。
api/v1/users.list?query={"eppn":"eppn-of-user"}
在我将Rocket.Chat升级到3.9版本后,我发现不能使用users.list接口查询eppn。
用户的结构已更改,现在eppn参数是services.saml的子级。我可以这样查询MongoDB中的eppn:
coll.find({'services.saml.eppn': "user-eepn"})
但无法通过接口查询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"
}
}有谁知道这是怎么回事吗?
谢谢!
发布于 2021-01-22 18:32:56
所以各位,我刚刚得到了我的问题的解决方案,如果有人会有同样的问题的话。
首先,对于EJSON解析函数,查询必须这样编写:
api/v1/users.list?query={"services.saml.eppn": "user-eppn"}但是第二个问题是Rocket.Chat不允许查询服务参数。这是一个权限问题,因此要查询服务参数,然后查询eppn参数,必须有权限授予用户。
https://stackoverflow.com/questions/65740325
复制相似问题