WSO2IS-5.7.0 OIDC SSO 注销没有 id_token_hint
WSO2IS-5.7.0 OIDC SSO logout without id_token_hint
我正在使用 OIDC 和 WSo2IS-5.7.0。我想实现 rp 启动的全局注销(我想从 RP 以及 OP 或 WSO2 终止会话。)当用户单击注销按钮时,我将用户重定向到此 URL :
https://myserver:9443/oidc/logout?id_token_hint=<idtoken>&post_logout_redirect_uri=https://myotherserver.com/myapp/index
它工作正常,用户被重定向到 wso2 的登录页面。我的客户认为它不安全并且想在不将 id_token 发送到前端的情况下做同样的事情。 wso2is-5.7.0 可以吗?
如果是,怎么样?
如果不是,我们发id token给FE是不是不安全?任何人都可以用它拨打 API 电话吗?
这是不可能的。在 WSO2 实现中,我们使用 id_token_hint 从 id_token 中提取 client_id(作为 id_token_hint 发送)。这是检索向其发布 id_token 的服务提供商信息所必需的。
否则我们无法验证 post_logout_redirect_uri 中发送的值是否是服务提供商的注册回调。
因此,如果我们省略 id_token_hint,我们将无法验证发送的 post_logout_redirect_uri,这将打开另一个安全漏洞,允许重定向到不受信任的 uris。
我正在使用 OIDC 和 WSo2IS-5.7.0。我想实现 rp 启动的全局注销(我想从 RP 以及 OP 或 WSO2 终止会话。)当用户单击注销按钮时,我将用户重定向到此 URL :
https://myserver:9443/oidc/logout?id_token_hint=<idtoken>&post_logout_redirect_uri=https://myotherserver.com/myapp/index
它工作正常,用户被重定向到 wso2 的登录页面。我的客户认为它不安全并且想在不将 id_token 发送到前端的情况下做同样的事情。 wso2is-5.7.0 可以吗?
如果是,怎么样?
如果不是,我们发id token给FE是不是不安全?任何人都可以用它拨打 API 电话吗?
这是不可能的。在 WSO2 实现中,我们使用 id_token_hint 从 id_token 中提取 client_id(作为 id_token_hint 发送)。这是检索向其发布 id_token 的服务提供商信息所必需的。
否则我们无法验证 post_logout_redirect_uri 中发送的值是否是服务提供商的注册回调。
因此,如果我们省略 id_token_hint,我们将无法验证发送的 post_logout_redirect_uri,这将打开另一个安全漏洞,允许重定向到不受信任的 uris。