CAS认证流程图
2021-08-24 17:30:56 28 举报
CAS官网流程图是英文的,根据照着绘制了个中文的
作者其他创作
大纲/内容
B系统页面
验证会话
向CAS发送请求,验证 Ticket(ST)
Cookie:CASTGC=TGT-12345678GET https://cas.example.com/cas/login?service=https%3A%2FappB.example.com%2F
用户未登录,重定向到CAS登录地址,并将当前请求路径作为URL请求参数service
访问B系统
Set-Cookie:JSESSIONID=ABC-12345678302 Location: https://appA.example.com
访问系统A
系统B
没有会话,返回CAS登录页
GET https://cas.example.com/cas/login?service=https%3A%2FappA.example.com%2F
展现系统B页面
返回A系统页面
Cookie:JSESSIONID=ABC-12345678GET https://appA.example.com
返回资源
CAS认证完成,返回 XML报文,报文中包含用户账号等信息
展现A系统页面
GET https://appA.example.com
GET https://appB.example.com/Cookie: B系统Cookie
CAS
Set-Cookie:B系统Cookie302 Location: https://appB.example.com
返回 XML 报文
POST https://cas.example.com/cas/login?service=https%3A%2FappA.example.com%2F
用户
创建系统A会话并生成系统A的令牌
访问A系统资源
Location: https://appB.example.com/?ticket=ST-345678
GET https://appB.example.com/?ticket=ST-345678
系统A
验证ST
登录后再次访问系统A
登录后首次访问系统B
GET https://appB.example.com
浏览器
验证
提交表单,登录
CAS登录页
GET https://appA.example.com/?ticket=ST-12345678
认证通过,创建 SSO 会话并将Ticket Granting Ticket(TGT)存到cookie中
Set-Cookie:CASTGC=TGT-12345678302 Location: https://appA.example.com?ticket=ST-12345678
GET https://cas.example.com/serviceValidate?service=https%3A%2FappA.example.com%2F&ticket=ST-12345678
302 Location: http://cas.com/cas/login?service=https%3A%2FappB.example.com%2F
302 Location: http://cas.com/cas/login?service=https%3A%2FappA.example.com%2F
验证TGT
认证
Cookie:JSESSIONID=ABC-12345678GET https://appA.example.com/resource
展示CAS登录页面
没有会话信息,重定向到CAS登录页
GET https://cas.example.com/serviceValidate?service=https%3A%2FappB.example.com%2F&ticket=ST-345678
首次访问系统A
0 条评论
回复 删除
下一页