我可以将用户名而不是名字 + 姓氏传递给 shiny prox

Can I pass Username instead of Firstname + Lastname to shiny prox

我正在将 Shinyproxy 与 Keycloak 一起使用并读取用户名 userName <- Sys.getenv("SHINYPROXY_USERNAME")

不幸的是,我收到了 FirstName 和 LastName 的串联,这不是唯一的。

我想要 SHINYPROXY_USERNAME 中的用户名。这是 Keycloak 配置问题吗?

来自documentation

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/Access/User-Info: 在

现在 Keycloak 令牌将包含一个属性 name,其值为用户 username