WSO2 API Manager 3.0 会话未注销 Publisher

WSO2 API Manager 3.0 Session Not Logging Out of Publisher

情况: 我们的 WSO2 API Manager 3.0 实例没有通过 Publisher 注销。注销 可以通过商店工作。

详情: 当用户在发布者中单击注销 link 时,系统会提示他们使用 OpenID Connect 注销提示:"Do you want to logout?"。单击 'Yes' 后,用户将返回到发布者,会话仍处于活动状态。

同一用户 可以通过应用商店注销。当他们从 Store 注销时,他们的 Publisher 会话也会被注销。

仅当他们尝试注销发布者会话时才会出现问题。

配置: 我们的 WSO2 实例连接到 Oracle Cloud IAM。 Publisher和Store的回调设置是一样的

例如https://our-iam-server.our-companny.com/signout.html

商店设置导航(有效):

Identity(Carbon 中的菜单栏)-> Service Providers -> List -> admin_admin_store -> Edit -> Inbound Authentication Configuration -> OAuth/OpenID 连接配置 -> 编辑 -> 启用 OIDC 反向通道注销 -> 反向通道注销 Url

发布者设置导航(不工作):

Identity(Carbon 中的菜单栏)-> Service Providers -> List -> admin_admin_publisher -> Edit -> Inbound Authentication Configuration -> OAuth/OpenID 连接配置 -> 编辑 -> 启用 OIDC 反向通道注销 -> 反向通道注销 Url

两个页面上的值相同:

我们在 Store 和 Publisher 上自定义了 JavaScript,内容如下:

var str = document.referrer;
var substr =  "oauth2_logout_consent.do"
if(str.includes(substr)){
    alert("relocating to https://[IAM-hostname]/signout.html");
    window.location.replace("https://[IAM-hostname]/signout.html");
}

在商店中,到达'alert'块并注销成功。 在 Publisher 中,'alert' 块永远不会到达。

有什么想法吗?

解决方案:升级到 API-Manager 版本 3.1。

原因:3.0版本没有如下所示的'Logout Endpoint URL'参数。 3.1 版可以。