大量用户API请求和失效

只是为了确认,您是在询问用户 API 请求,还是通过您为 Discourse 站点管理员/API 页面上用户生成的 API 密钥运行的 API 请求。用户 API 请求在下面的屏幕截图中以绿色突出显示:

有关用户 API 密钥用途的详细信息,请访问:https://meta.discourse.org/t/user-api-keys-specification/48536。

除非您创建了与您的 Discourse 站点集成的应用程序,否则最可能的解释是用户通过 DiscourseHub 应用程序(https://play.google.com/store/apps/details?id=com.discourse&hl=en&gl=US&pli=1)登录该站点,或者他们正在使用类似 Fig - Native Discourse client for iOS 的应用程序与该站点进行交互。

这并不能回答您所有的问题,但您可以使用以下数据探索器查询来获得用户 API 密钥使用情况的总体概述:

SELECT * FROM user_api_keys

要获取正在向您的站点发出用户 API 密钥请求的应用程序列表,以及使用每个应用程序发出请求的用户数量:

SELECT
application_name,
COUNT(application_name) AS user_count
FROM user_api_keys
GROUP BY application_name

用于连接 DiscourseHub 应用程序的用户 API 密钥的 application_name 将设置为“Discourse - unknown”。

如果用户使用用户 API 密钥与站点进行交互,则会在其首选项页面的“安全”选项卡中添加一个“应用程序”条目:

该条目显示了授予该应用程序的范围。它还允许您撤销对该应用程序的访问权限。

我没有在 Discourse UI 中看到任何过期或撤销所有用户 API 密钥的方法。只能从用户的首选项页面一次撤销一个密钥。可以通过 Rails 控制台撤销所有用户 API 密钥,但可能值得先调查密钥的使用方式。

1 个赞