簡體   English   中英

在 Keyclaok id 令牌中啟用 sid 聲明

[英]Enable sid claim in the Keyclaok id token

我目前正在將 Keycloak 配置為聯合身份提供程序,以測試 OIDC 反向通道注銷流程。

在 id 令牌和注銷令牌中,它們默認不包含sid聲明,因為它是可選聲明。 但是在客戶端的配置中,有一個配置可以啟用反向通道注銷令牌中的 session 標識符。 配置為啟用“sid”聲明 如果啟用此功能,則注銷令牌將具有sid聲明,但 id 令牌不會。

OIDC 規范第 2.1 節,

backchannel_logout_session_supported:可選。 Boolean 值指定 OP 是否可以在 Logout Token 中傳遞 sid(會話 ID)聲明,以使用 OP 識別 RP session。 如果支持,sid 聲明也包含在 OP 發布的 ID 令牌中。 如果省略,則默認值為 false。

據此,如果sid聲明包含在注銷令牌中,則 id 令牌也應具有sid聲明

有沒有辦法在 id 令牌中包含sid聲明? 如果不是,那么僅在注銷令牌中而不在 id 令牌中具有sid聲明的目的是什么?

我不熟悉反向通道流程,但通常您希望使用 KeyCloak 的“映射器”概念將聲明添加到令牌中。 身份提供者和客戶端都可以有映射器,這取決於您需要在哪里添加數據。

客戶端和 IdP 配置將有不同的“映射器類型”可用。 “映射器類型”字段是配置映射器時最重要的字段 - 它確定數據的來源(一些 session 值,一些用戶屬性等)。 我們經常需要為新的映射器類型編寫小的自定義實現,以從 Java 層中提取一些數據,以便我們可以將其放入令牌中。

客戶端映射器示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM