# 验证输入的用户名是否是他们的，或者在登录后获取用户名或他们的统计数据

**URL:** <https://meta.discourse.org/t/verify-that-entered-username-is-theirs-or-get-the-username-or-their-stats-after-getting-logged-in/230846>\
**Category:** Development\
**Tags:** rest-api\
**Created:** [2022年六月23日 06:51 UTC](https://meta.discourse.org/t/verify-that-entered-username-is-theirs-or-get-the-username-or-their-stats-after-getting-logged-in/230846 "2022-06-23T06:51:53Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![creamit](https://avatars.discourse-cdn.com/v4/letter/c/ac91a4/32.png) [@creamit](https://meta.discourse.org/u/creamit)\
**Post date:** [2022年六月23日 06:51 UTC](https://meta.discourse.org/t/verify-that-entered-username-is-theirs-or-get-the-username-or-their-stats-after-getting-logged-in/230846/1 "2022-06-23T06:51:53Z")

</div>

我不会详述，但我正在创建一个网站门户，该门户根据我们定义的某些参数为用户提供声誉。为此，我们需要获取摘要（/u/{username}/summary.json）详细信息。但后来我意识到任何人都可以输入任何用户名并劫持其他人的声誉。您能否建议一种简单地获取该用户摘要的最优方法？另外，这是一个网站门户，我也遇到了 CORS 错误（我通过使用 cors-anywhere 服务器在某种程度上进行了补偿）。您能否建议处理此问题的标准 Discourse 方法？

---

<div class="post-metadata">

**Author:** ![creamit](https://avatars.discourse-cdn.com/v4/letter/c/ac91a4/32.png) [@creamit](https://meta.discourse.org/u/creamit)\
**Post date:** [2022年六月23日 06:59 UTC](https://meta.discourse.org/t/verify-that-entered-username-is-theirs-or-get-the-username-or-their-stats-after-getting-logged-in/230846/2 "2022-06-23T06:59:53Z")

</div>

我曾试图通过检查 `/u/{username}.json` 端点上 `user.can_edit` 的值来弥补验证用户问题的不足，我希望如果用户已登录且用户名是他们自己的，则该值为 true。但是，当尝试从服务器发送该请求时，我无法确定地附加浏览器在发送请求时自动包含的 cookie。因此它将始终为 false。

我还检查了有关 `user-api-key` 生成的文档，该文档将以该用户身份发送请求，但存在太多 CORS 问题。（难道没有像在标头中存在有效的 `user-api-key` 就会发送响应这样的东西吗？）

编辑 - 另外一个重要的事情是，我是在该论坛上一个非管理员、非版主的普通用户。
