WSO2 身份服务器多个回调 URL 中断检查会话端点
WSO2 Identity Server multiple callback URLs breaks checksession endpoint
我在为 WSO2 身份服务器中的服务提供商配置多个回调 url 时遇到问题。这个过程对于我的团队使用 post 注销重定向 url 支持 SLO(单点注销)是必要的。
回调URL配置
WSO2 在线文档描述了执行此过程的正确方法here。我已经按照这些步骤配置了我的回调 URL 如下:
regexp=(http://localhost:8080/login-callback|http://localhost:8080/logout-callback)
这个过程有效,我可以配置两个回调 URL。
意外"checksession"副作用
配置回调 url 后,checksession 端点将停止工作。我从端点收到的错误消息显示 "Invalid OP IFrame Request"。该 checksession 调用使用 url,如下所示:https://<wso2host>/oidc/checksession?client_id=<clientid>
我验证了如果我单独配置我的任一重定向 url,checksession 端点工作正常
但是如果我使用正则表达式语法会失败。在以下每种情况下都会发生故障:
- regexp=(http://localhost:8080/login-callback|http://localhost:8080/logout-callback)
- regexp=(http://localhost:8080/login-callback)
- regexp=(http://localhost:8080/logout-callback)
我是否缺少回调 url 或检查会话端点所需的配置步骤?
我最终从 WSO2 日志中的提示找到了解决方案。
当定义了多个回调 url 时,checksession 端点的请求也必须指定一个回调 url。我的场景的正确检查会话请求是:
https://<wso2host>/oidc/checksession?client_id=<clientid>&redirect_uri=<redirecturi>
我在为 WSO2 身份服务器中的服务提供商配置多个回调 url 时遇到问题。这个过程对于我的团队使用 post 注销重定向 url 支持 SLO(单点注销)是必要的。
回调URL配置
WSO2 在线文档描述了执行此过程的正确方法here。我已经按照这些步骤配置了我的回调 URL 如下:
regexp=(http://localhost:8080/login-callback|http://localhost:8080/logout-callback)
这个过程有效,我可以配置两个回调 URL。
意外"checksession"副作用
配置回调 url 后,checksession 端点将停止工作。我从端点收到的错误消息显示 "Invalid OP IFrame Request"。该 checksession 调用使用 url,如下所示:https://<wso2host>/oidc/checksession?client_id=<clientid>
我验证了如果我单独配置我的任一重定向 url,checksession 端点工作正常
但是如果我使用正则表达式语法会失败。在以下每种情况下都会发生故障:
- regexp=(http://localhost:8080/login-callback|http://localhost:8080/logout-callback)
- regexp=(http://localhost:8080/login-callback)
- regexp=(http://localhost:8080/logout-callback)
我是否缺少回调 url 或检查会话端点所需的配置步骤?
我最终从 WSO2 日志中的提示找到了解决方案。
当定义了多个回调 url 时,checksession 端点的请求也必须指定一个回调 url。我的场景的正确检查会话请求是:
https://<wso2host>/oidc/checksession?client_id=<clientid>&redirect_uri=<redirecturi>