用户

了解如何配置 SDK 以捕获用户并获取在 Sentry 中构建唯一身份的关键信息。

用户由几个关键信息组成,这些信息在 Sentry 中构建一个唯一身份。每个字段都是可选的,但至少必须有一个存在,Sentry SDK 才能捕获用户:

您内部的用户标识符。

用户名。通常比内部 ID 更适合作为标签。

作为用户名的替代或补充。Sentry 识别电子邮件地址,并可以显示 Gravatars 或解锁消息功能。

用户的 IP 地址。如果用户未经过身份验证,Sentry 将使用 IP 地址作为用户的唯一标识符。 服务器端 SDK 会尝试从 HTTP 请求数据(如 JSON 中的 request.env.REMOTE_ADDR 字段)中提取 IP 地址(如果可用)。这需要您在 RequestData 集成中将 include.ip 选项设置为 true

如果用户的 ip_address 设置为 "{{auto}}",Sentry 将根据应用程序与 Sentry 服务器之间的连接推断 IP 地址。

如果省略此字段,默认值为 "{{auto}}"。SDK 和其他客户端不应依赖此行为,而应显式设置 IP 地址或 "{{auto}}"

要确保用户的 IP 地址从未存储在事件数据中,您可以进入项目设置,点击“安全与隐私”,启用“防止存储 IP 地址”或使用 Sentry 的 服务器端数据清理 来移除 $user.ip_address。添加此类规则最终会覆盖任何其他逻辑。

此外,您可以提供任意键值对,超出保留名称,Sentry SDK 将把这些信息与用户一起存储。

您可以通过调用 Sentry SDK 的 setUser 方法来设置用户:

Copied
Sentry.setUser({ email: "john.doe@example.com" });

您也可以清除当前设置的用户:

Copied
Sentry.setUser(null);