【问题标题】:Keycloak identity broker european special characters in name replaced by?Keycloak identity broker 名称中的欧洲特殊字符替换为?
【发布时间】:2021-09-07 15:47:00
【问题描述】:

我正在运行 Keycloak v7.4.4 并设置了 OIDC 身份提供程序 (signicat)。除了获得名称之外,一切都按预期工作。

问题是,如果登录用户的名称包含欧洲特殊字符,例如“ø”,则会被“?”替换。

有没有人遇到过类似的问题并可能以某种方式解决?

【问题讨论】:

  • 这个名字到底哪里错了?在 Keycloak 中还是在您自己的应用程序中?通常是因为您的 Web 应用程序使用了错误的编码标准(utf8...)
  • 钥匙斗篷里面..

标签: single-sign-on keycloak openid-connect redhat


【解决方案1】:

遇到与某些字符相同的问题。它们似乎在数据库中存储为“替换字符”(Postgres,UTF8 编码无处不在),例如:

"Ł" 变为 �� 或 U+FFFD U+FFFD,或十六进制:EF BF BD EF BF BD。

原始数据来自作为身份提供者的 Azure AD,但不知何故在 Keycloak 中,unicode 被破坏了。这对我们来说主要是一个不便,因为它到目前为止只影响显示名称,但非常烦人......

编辑:Keycloak 是 Bitnami 打包版本 (13.0.1) 和 Postgres AWS 托管 RDS 实例 (13.2)

编辑 2:我的问题是 Bitnami 打包的 Keycloak。切换到 jboss/keycloak 后一切正常。

【讨论】:

  • 哦,如果在数据库中手动更正数据,一切正常,所以问题在于存储用户
猜你喜欢
  • 1970-01-01
  • 2012-11-16
  • 2014-11-03
  • 1970-01-01
  • 2011-12-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多