0

我正在使用带有 Keycloak 的 Shinyproxy 并使用以下命令读取用户名 userName <- Sys.getenv("SHINYPROXY_USERNAME")

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

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

4

1 回答 1

2

文档

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具有用户值的属性username

于 2021-01-30T18:43:22.590 回答