# Discourse OpenID Connect (OIDC)

**URL:** <https://meta.discourse.org/t/discourse-openid-connect-oidc/103632>\
**Category:** Plugin\
**Tags:** official, openid-connect, auth-plugins, included-in-core\
**Created:** [2018年十二月6日 16:08 UTC](https://meta.discourse.org/t/discourse-openid-connect-oidc/103632 "2018-12-06T16:08:20Z")\
**Posts on this page:** 1\
**Showing post:** 325

<div class="post-metadata">

**Author:** ![sistason](https://avatars.discourse-cdn.com/v4/letter/s/b5a626/32.png) [@sistason](https://meta.discourse.org/u/sistason)\
**Post date:** [2026年五月14日 16:58 UTC](https://meta.discourse.org/t/discourse-openid-connect-oidc/103632/325 "2026-05-14T16:58:19Z")

</div>

你好，

该插件多年来运行良好，但我遇到了第一位单点登录（SSO）用户，其用户名以 underscore（下划线）结尾，例如一个不允许的用户名。

该用户无法登录 Discourse。我认为 OIDC 随后会尝试创建一个不带下划线的用户名账号。这本身没问题，但如果该账号已存在（例如用户名 `foo` 已存在，而 `foo_` 因“账号已存在”错误无法登录），似乎在某些环节出现了冒充（尝试）：

用户名 `foo` 会收到一封邮件，通知他们有人尝试创建账号或尝试将某账号的邮箱更改为已被占用的邮箱。

这发生在首次登录时，即 `foo_` 通过 SSO 创建账号的过程中。`foo_` 尝试以 `foo` 的身份创建账号，但因名称已被占用而失败。但为什么原来的 `foo` 会收到相关邮件通知呢？

> 您刚刚尝试在 \\<discourse\\> 创建账号，或尝试将某账号的邮箱更改为 \\<foo 的邮箱地址\\>

针对 OIDC 中同时存在 `username` 和 `username_` 的问题，是否有解决方案？例如，能否配置 Discourse 在认证过程中如何处理无效用户名？

---

_[View the full topic](https://meta.discourse.org/t/discourse-openid-connect-oidc/103632)._
