统一身份认证平台集成接口文档

2020-08-23 20:40

三峡大学

统一身份认证平台

接口文档

目录

1.

1.1

统一身份认证简介............................................... 3 背景知识..................................................................................................... 3 1.1.1 什么是单点登录(Single Sign On):.................................................... 3 1.1.2 中心认证服务的设计愿景: ..................................................................... 3

CAS的实现.................................................................................................. 4 系统中的用到的凭证(ticket): ........................................................................ 5

2.

2.1 2.2 3.

3.1

JAVA语言 ..................................................... 6

CAS简单登陆的实现.................................................................................... 6 CAS登出 ................................................................................................... 12 PHP语言 ..................................................... 13

CAS单点登录测试环境搭建步骤 ................................................................ 13 3.1.1 3.1.2 3.1.3 3.2

3.2.1 3.2.2 3.2.3 3.2.4

4.

4.1 4.2 4.3 5.

5.1 5.2 6.

6.1 6.2 6.3 6.4 6.5

获取必要的驱动程序:....................................................................... 13 搭建php运行环境 ............................................................................. 13 配置PHP cas 客户端测试程序 ............................................................ 13 cas-client的初始化 ............................................................................. 14 设置不是SSL的CAS认证 ................................................................... 16 进行CAS认证 .................................................................................... 17 登出................................................................................................... 20

1.2

PHP-CAS客户端 ......................................................................................... 14

ASP.NET语言 ................................................. 22

搭建ASP.NET环境 ..................................................................................... 22 CAS简单登陆实现 ..................................................................................... 22

CAS登出实现 ............................................................................................ 23 ASP语言 ..................................................... 24

CAS简单登录实现 ..................................................................................... 24

CAS登出实现 ............................................................................................ 25 附录 ........................................................ 26

附录1 ....................................................................................................... 26

附录2 ....................................................................................................... 28 附录3 ....................................................................................................... 30 附录4 ....................................................................................................... 31 附录5 ....................................................................................................... 32

1. 统一身份认证简介

1.1 背景知识

1.1.1 什么是单点登录(Single Sign On):

所谓单点登录是指基于用户/会话认证的一个过程,用户只需一次性提供凭证(仅一次登录),就可以访问多个应用。

目前单点登录主要基于Web的多种应用程序,即通过浏览器实现对多个B/S架构应用的统一账户认证。

1.1.2 中心认证服务的设计愿景:

简单的说,中心认证服务(Central Authentication Service 缩写:CAS)的目的就是使分布在一个企业内部各个不同异构系统的认证工作集中在一起,通过一个公用的认证系统统一管理和验证用户的身份,一般我们称之为统一身份认证平台。

在CAS上认证的用户将获得CAS颁发的一个证书,使用这个证书,用户可以在承认CAS证书的各个系统上自由穿梭访问,不需要再次的登录认证。

打个比方:对于加入欧盟的国家而言,在他们国家中的公民可以凭借着自己的身份证,在整个欧洲旅行,不用签证。

对于学校内部系统而言,CAS就好比这个颁发欧盟认证的系统,其它系统都是加入欧盟的国家,它们要共同遵守和承认CAS的认证规则。

因此CAS的设计愿望就是:

? 实现一个易用的、能跨不同Web应用的单点登录认证中心;

? 实现统一的用户身份和密钥管理,减少多套密码系统造成的管理成本和安全漏洞; ? 降低认证模块在IT系统设计中的耦合度,提供更好的SOA设计和更弹性的安全策

略。

1.2 CAS的实现

从结构上看,CAS 包含两个部分: CAS Server 和 CAS Client。CAS Server 需要独立部署,主要负责对用户的认证工作;CAS Client 负责处理对客户端受保护资源的访问请求,需要登录时,重定向到 CAS Server。图1 是 CAS 最基本的协议过程:

CAS Client 与受保护的客户端应用部署在一起,以 Filter 方式保护受保护的资源。对于访问受保护资源的每个 Web 请求,CAS Client 会分析该请求的 Http 请求中是否包含 Service Ticket,如果没有,则说明当前用户尚未登录,于是将请求重定向到指定好的 CAS Server 登录地址,并传递 Service (也就是要访问的目的资源地址),以便登录成功过后转回该地址。用户在第 3 步中输入认证信息,如果登录成功,CAS Server 随机产生一个相当长度、唯一、不可伪造的 Service Ticket,并缓存以待将来验证,之后系统自动重定向到 Service 所在地址,并为客户端浏览器设置一个 Ticket Granted Cookie(TGC),CAS Client 在拿到 Service 和新产生的 Ticket 过后,在第 5,6 步中与 CAS Server 进行身份合适,以确保 Service Ticket 的合法性。

在该协议中,所有与 CAS 的交互均采用 SSL 协议,确保,ST 和 TGC 的安全性。协议工作过程中会有 2 次重定向的过程,但是 CAS Client 与 CAS Server 之间进行 Ticket 验证的过程对于用户是透明的。

另外,CAS 协议中还提供了 Proxy (代理)模式,以适应更加高级、复杂的应用场景,

具体介绍可以参考 CAS 官方网站上的相关文档。

系统中的用到的凭证(ticket):

Ticket-granting cookie(TGC) 凭证存放cookie

它是存放用户身份认证凭证的cookie,在浏览器和CAS间通讯时使用,并且只能基于安全通道HTTPS。它是CAS用来明确用户身份的凭证,是实现web系统SSO的可选方案之一。

Service ticket(ST) 服务许可证

Service ticket凭证由CAS服务器发出,通过客户端浏览器,到达业务服务器(通过URL重定向和ticket参数来实现)。每个ST只能使用一次,针对特定的服务生成唯一识别码。

Proxy-granting ticket(PGT) 代理授权许可证

该许可证由CAS服务器颁发给拥有ST凭证的服务(如果一个服务自身没有获得ST凭证,是不可能获得PGT的)。该许可证绑定一个用户的一个特定服务,使其拥有向CAS服务器申请,以获得“代理凭证Proxy-tickets”的能力。

Proxy-granting ticket IOU(PGTIOU) 代理授权许可证索引

这个许可证索引将通过凭证校验时的应答信息由CAS服务器端返回给CAS客户端。与此同时,与该索引对应的PGT将通过回调链接传给web应用。Web应用必须维护着PGT索引和PGT之间映射关系的内存表。

Proxy ticket(PT)

代理许可证是应用程序代理用户身份,对目标程序进行访问的凭证。代理许可证保存有代理及代理们进行逐级访问过程的信息。一个代理访问的有可能是另一个更高级的代理,因此PT可以用来获取下一级代理的PGT。这些逐级生成的PGT将保存有从用户到最终目标之间的代理队列的完整信息。

后面的章节将介绍常用的几种语言编写的程序,如何如何集成到统一身份认证中心平台。如果将来学校还有其他语言的系统需要集成到统一身份认证中心平台,请联系公司索取相应的实现方法。


统一身份认证平台集成接口文档.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:C语言经典编程100例

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: