我尝试了一种让SSO适用于我的桌面应用程序的方法。为此,我需要CAS重定向到用户定义的协议。
我想做什么:
致电https://localhost:8443/cas-server-webapp-4.0.0/login?service=sso://myapplication
成功登录后,重定向到sso://myapplication?ticket=someTicket
但结果是,我被重定向到https://localhost:8443/cas-server-webapp-4.0.0/sso://myapplication?someTicket
。
我是否必须更改CAS配置中的某些内容或者这是一个错误?
编辑:
我正在使用开箱即用的CAS,直到现在还没有完成配置。我唯一更改的是sso
将org.jasig.cas.services.RegexRegisteredService
作为允许的协议添加到p:serviceId="^(https?|imaps?|sso?|file?)://.*"
。
答案 0 :(得分:1)
我认为它不是来自CAS服务器本身。重定向到服务由登录Webflow管理:https://github.com/Jasig/cas/blob/master/cas-server-webapp/src/main/webapp/WEB-INF/webflow/login/login-webflow.xml#L147。 我担心当向网址请求重定向时,这种行为来自浏览器,这似乎不是一个有效的网址(我的意思是从http / https开始)。我会尝试在登录时使用method = POST参数使用POST重定向。