协议映射器如何在 Keycloak 中工作?
How do protocol mappers work in Keycloak?
我正在尝试将用户属性添加到声明中的示例。我正在按照示例 here 进行操作。我正在尝试访问过滤器中的声明但未成功。
我想了解协议映射器是如何在幕后工作的,即该协议中的声明如何以及以何种顺序添加到令牌中。
在 Keycloak 中,协议映射器的功能是在 Keyloack 默认添加的声明之外,向 JWT 添加额外的声明。
不同的协议映射器将有不同的选项,但对于其中的大多数,您可以选择将这些映射器将生成的声明添加到:
- ID令牌;
- 访问令牌;
- 用户信息;
I would want to understand how the protocol mappers work behind the
scenes.
粗略地说,JWT 基本上是基于特定 standard, Keycloak creates that object with the Registered claims 的编码 JSON 对象(例如, Issuer
、Subject
等等),然后它会将自定义声明(即协议映射器)应用到那个临时按照您为该给定协议映射器定义的优先级排序对象。
最终结果(即, 令牌)将是一个具有默认声明的 JWT,并添加了协议映射器的声明。
我正在尝试将用户属性添加到声明中的示例。我正在按照示例 here 进行操作。我正在尝试访问过滤器中的声明但未成功。
我想了解协议映射器是如何在幕后工作的,即该协议中的声明如何以及以何种顺序添加到令牌中。
在 Keycloak 中,协议映射器的功能是在 Keyloack 默认添加的声明之外,向 JWT 添加额外的声明。
不同的协议映射器将有不同的选项,但对于其中的大多数,您可以选择将这些映射器将生成的声明添加到:
- ID令牌;
- 访问令牌;
- 用户信息;
I would want to understand how the protocol mappers work behind the scenes.
粗略地说,JWT 基本上是基于特定 standard, Keycloak creates that object with the Registered claims 的编码 JSON 对象(例如, Issuer
、Subject
等等),然后它会将自定义声明(即协议映射器)应用到那个临时按照您为该给定协议映射器定义的优先级排序对象。
最终结果(即, 令牌)将是一个具有默认声明的 JWT,并添加了协议映射器的声明。