需要在spring boot 项目中支持 cas 登录,为此我通过 cas-overlay-template 项目 ,版本为6.6.0-SNAPSHOT,搭建了cas 服务。
当 cas 登录成功后,后端项目拿 cas 服务生成的 ticket 去验证时, cas 服务端返回错误信息:
org.jasig.cas.client.validation.TicketValidationException: 未能够识别出目标 'ST-3-YdOGpUCUuMvDiwfFAn-XbqhYRS4-DESKTOP-O0OIQOF'票根
查看 cas 服务端日志,发现 ticket 验证成功,但协议验证失败,请教各位大神,这个 PROTOCOL_SPECIFICATION_VALIDATE_FAILED 是什么意思:
>
2022-08-31 15:40:34,632 INFO [org.apereo.inspektr.audit.support.Slf4jLoggingAuditTrailManager] - <Audit trail record BEGIN
=============================================================
WHO: casuser
WHAT: {ticket=ST-3-********bqhYRS4-DESKTOP-O0OIQOF, service=http://localhost:8080/api/loginByNameAndCardNo}
ACTION: SERVICE_TICKET_VALIDATE_SUCCESS
APPLICATION: CAS
WHEN: Wed Aug 31 15:40:34 CST 2022
CLIENT IP ADDRESS: 127.0.0.1
SERVER IP ADDRESS: 127.0.0.1
=============================================================
>
2022-08-31 15:40:34,633 INFO [org.apereo.inspektr.audit.support.Slf4jLoggingAuditTrailManager] - <Audit trail record BEGIN
=============================================================
WHO: casuser
WHAT: {principal=casuser, service=http://localhost:8080/api/loginByNameAndCardNo, renew=false, gateway=false}
ACTION: PROTOCOL_SPECIFICATION_VALIDATE_FAILED
APPLICATION: CAS
WHEN: Wed Aug 31 15:40:34 CST 2022
CLIENT IP ADDRESS: 127.0.0.1
SERVER IP ADDRESS: 127.0.0.1
=============================================================
字面意思是“协议规范验证失败”,检查一下协议配置是否一致。