带有 eppn 的 REST-API users.list
Posted
技术标签:
【中文标题】带有 eppn 的 REST-API users.list【英文标题】:REST-API users.list with the eppn 【发布时间】: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"
有人知道吗?
谢谢!
【问题讨论】:
【参考方案1】:所以大家,我刚刚解决了我的问题,如果有人会遇到同样的问题。
首先对于 EJSON 解析函数,查询必须这样写:
api/v1/users.list?query="services.saml.eppn": "user-eppn"
但第二个问题是 Rocket.Chat 不允许查询 services 参数。 是权限的问题,查询services参数,再查询eppn参数,必须有给User的权限。
【讨论】:
以上是关于带有 eppn 的 REST-API users.list的主要内容,如果未能解决你的问题,请参考以下文章
带有 JWT 的 Spring Security Oauth2 真的是无状态的吗?
如何在“Zapier 代码”中编写节点获取(Rest-API)?
REST-API,无效 DELETE 的正确 HTTP 状态代码