cas跨域单点登录原理_GitHub - WenNicholas/cas: 本服务提基于CAS协议,实现简易SSO功能(Single Sign On, 单点登录)。可提供跨域名的统一身份认证。...

本文介绍了基于CAS协议的单点登录(SSO)服务,使用Python Flask框架实现,支持跨域名身份认证。主要涵盖用户登录、已登录用户认证规程,详细阐述了每个步骤涉及的实体交互。同时提供了服务的使用方法、依赖库安装、数据库配置以及Web API接口说明。
摘要由CSDN通过智能技术生成

CAS服务

本服务提基于CAS协议,实现简易SSO功能(Single Sign On, 单点登录)。可提供跨域名的统一身份认证。本服务基于flask框架实现,运行环境为python 3.6.5。

CAS服务规程描述

CAS服务规程共计三个,分别为:

用户登录过程

已登录用户认证过程

用户登出过程(暂未实现)

用户登录过程规程描述

参与本规程的实体包含三个:

用户 user

CAS服务 cas

他方应用 app

规程描述如下:

user 发送请求到 app, 以请求获取相关资源;

app 获取到 user 发来的请求,判断该用户是否已通过认证。若通过认证,则结束规程,否则将返回给 user 状态码为302的响应报文,

报文携带 app 与 cas 事先商议好的 domain,domain用于标记app身份。使用户跳转到 cas,进行cas认证;

user 将携带由 app 返回的 domain,发送认证请求到 cas;

cas 判别是否已经颁发给 user 票证授予票证 tgt,若未颁发tgt或tgt过期失效,则返回 user 登录页面,要求用户进行登录;

user 将自身身份凭证及口令发送给 cas 请求身份认证;

cas 判别用户身份,若通过身份认证,将 domain 查询与 app 事先商议好的回调地址 callback_url,颁发给user的tgt,以及服务票证 st 返回给用户;

用户将携带 st 访问 cas 发回的回调地址。

app 将在回调地址处获取

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值