keycloak 客户端协议映射器(脚本映射器)将请求 header 添加到令牌中
keycloak client protocol mapper (script mapper) to add request header into token
当我从 keycloak 请求令牌时,我想要将请求中提供的特定 header 值(或额外的表单数据)放入生成的令牌的 JWT 负载中。我尝试使用脚本映射器来访问 header 值,但我看不到如何访问 header 值或在任何可用脚本变量中发送的表单数据中的数据: user
、realm
、userSession
、keyclockSession
。
您可以使用 keycloakSession object 访问请求 header,类似于
keycloakSession.getContext().getRequestHeaders().getRequestHeader("User-Agent")
如果您检查 DefaultEvaluationContext class 的代码,那是他们添加 User-Agent header 的方式。
当我从 keycloak 请求令牌时,我想要将请求中提供的特定 header 值(或额外的表单数据)放入生成的令牌的 JWT 负载中。我尝试使用脚本映射器来访问 header 值,但我看不到如何访问 header 值或在任何可用脚本变量中发送的表单数据中的数据: user
、realm
、userSession
、keyclockSession
。
您可以使用 keycloakSession object 访问请求 header,类似于
keycloakSession.getContext().getRequestHeaders().getRequestHeader("User-Agent")
如果您检查 DefaultEvaluationContext class 的代码,那是他们添加 User-Agent header 的方式。