在结束会话 URI 中使用 IP 地址时,OpenId Connect 用户未注销(发现文档 end_session_endpoint)。使用 Gluu 身份服务器
Posted
技术标签:
【中文标题】在结束会话 URI 中使用 IP 地址时,OpenId Connect 用户未注销(发现文档 end_session_endpoint)。使用 Gluu 身份服务器【英文标题】:OpenId Connect User Not Logged Out When Using IP Address in End Session URI (discovery document end_session_endpoint) . Using Gluu identity server 【发布时间】:2021-11-17 03:07:55 【问题描述】:当我在 .Net 客户端应用程序中单击注销时,如果结束会话端点(发现文档中的“end_session_endpoint”)使用域名,我将成功注销。例如,框架使用以下 url 重定向到身份服务器(Gluu),并完美地注销了应用程序。
https://my-gluu-server.com/oxauth/seam/resource/restv1/oxauth/end_session?
post_logout_redirect_uri=https%3A%2F%2Flocalhost%3A44300%2Fsignout-callback-oidc
&id_token_hint=<MY JWT...>
&state=CfDJ8AjASIR7C_....
&x-client-SKU=ID_NETSTANDARD2_0
&x-client-ver=5.5.0.00
但是当我将其更改为使用 IP 地址时(因为我们打算托管它的域名无法解析),它无法注销。当我点击一个私人页面时,它会返回到 Gluu 服务器并且不需要登录(因为我没有注销),然后它会将我重定向回 .Net 客户端应用程序。
https://10.10.10.10/oxauth/seam/resource/restv1/oxauth/end_session?
post_logout_redirect_uri=https%3A%2F%2Flocalhost%3A44300%2Fsignout-callback-oidc
&id_token_hint=<MY JWT...>
&state=CfDJ8AjASIR7C_....
&x-client-SKU=ID_NETSTANDARD2_0
&x-client-ver=5.5.0.0
Gluu 或 OIDC 流程是否检查 url(颁发者?),如果是,有没有办法解决这个问题,以便 IP 地址和域名都可以被识别为有效?
谢谢。
【问题讨论】:
【参考方案1】:您不能对 IP 地址使用 HTTPS:
https://10.10.10.10
使用 HTTPS 时必须始终使用域,否则必须使用 HTTP。但是使用 HTTP 会给您带来其他问题,尤其是浏览器会拒绝的 cookie。因此,为 10.10.10.10 获取一个客户端会信任的域。
【讨论】:
以上是关于在结束会话 URI 中使用 IP 地址时,OpenId Connect 用户未注销(发现文档 end_session_endpoint)。使用 Gluu 身份服务器的主要内容,如果未能解决你的问题,请参考以下文章