问题描述
我正在使用带有 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 中预定义的一些令牌映射器)并使用以下配置创建令牌映射器
- 类型:用户属性
- 属性:用户名
- 令牌声明名称:名称
- ID/访问/用户信息:开启
现在 Keycloak 令牌将包含一个属性 name
,其值为 users username