我正在使用带有 Keycloak 的 Shinyproxy 并使用以下命令读取用户名
userName <- Sys.getenv("SHINYPROXY_USERNAME")
不幸的是,我收到了 FirstName 和 LastName 的串联,这不是唯一的。
我想要 SHINYPROXY_USERNAME 中的用户名。这是 Keycloak 配置问题吗?
我正在使用带有 Keycloak 的 Shinyproxy 并使用以下命令读取用户名
userName <- Sys.getenv("SHINYPROXY_USERNAME")
不幸的是,我收到了 FirstName 和 LastName 的串联,这不是唯一的。
我想要 SHINYPROXY_USERNAME 中的用户名。这是 Keycloak 配置问题吗?
从文档
proxy.keycloak.name-attribute: name of the attribute to use as the user's name;
one of name (default, current behaviour), preferred_username, nickname or email
在默认的 keycloak 令牌映射preferred_username
中是 keycloak 用户的用户名。
所以设置在你的application.yml
keycloak:
...
name-attribute: preferred_username
如果这不起作用,您始终可以删除现有的令牌映射器name
(在 client_scopes 中预定义的一些令牌映射器)并使用以下配置创建令牌映射器
现在 Keycloak 令牌将包含一个name
具有用户值的属性username