使用REST获取ST完成客户端登录,可用于APP端接入CAS系统
首先引入依赖
<!-- restful -->
<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-rest</artifactId>
<version>${cas.version}</version>
</dependency>
ticket过期策略配置:
# ticket过期设置
cas.ticket.st.numberOfUses=1
cas.ticket.st.timeToKillInSeconds=60
APP端接入步骤:
一、发送POST请求一,获取TGT,请求地址/cas/v1/tickets,请求响应头中的Location即包含CAS服务器返回的TGT


二、发送POST请求二,获取ST,直接使用请求一中返回的Location作为请求地址,service参数为客户端地址

三、校验ST,校验ST的真实性,以防ST伪造,并完成登录获取被保护后台的token,用于访问其服务。至此,登录完成。

注:http://localhost:9527/auth/cas/client/validateLogin为被保护后台封装的接口,该接口主要有两个功能:①调用https://cas.ananops.com:8443/cas/p3/serviceValidate向单点登录服务端验证该ST的真实性。②ST确认真实后,生成ACCESS-TOKEN以及登录用户信息并返回给APP端,用户访问被保护后台的服务。
四、验证ST,浏览器访问 http://localhost:8000/?ticket={ST}能够访问,说明登录成功
五、退出,发送DELETE请求,请求地址还是第一步中的Location、并将localStorage保存的token清除。

postman测试https接口需要配置:
