CISU PASSPORT
CISU PASSPORT支持基于OIDC的SSO(Single Sign On,单点登录),也有称之为身份联合登录。下文为您介绍如何使用自有的身份系统实现。
基本概念
以下概念遵从OIDC(OpenID Connect)的基本概念。叙述不详之处可参考参考 OIDC 规范 。
| 概念 | 说明 |
|---|---|
| CISU PASSPORT | 即CISU统一身份验证网关,端点地址为: https://passport.cdisu.edu.cn/ |
| OIDC | OIDC(OpenID Connect)是建立在OAuth 2.0基础上的一个认证协议。OAuth是授权协议,而OIDC在OAuth协议上构建了一层身份层,除了OAuth提供的授权能力,它还允许客户端能够验证终端用户的身份,以及通过OIDC协议的API(HTTP RESTful形式)获取用户的基本信息。 |
| 客户端ID | 认证网关用于标识您的应用的唯一字符串。会针对您支持的应用为您分配一个客户端 ID。这是您的 ID 令牌中的 aud 声明值之一。 |
| 客户端密钥 | 认证网关用于确认客户端 ID 所有权的密钥字符串。对于每个客户端 ID,您都需要一个匹配的客户端密钥。(仅当您使用身份验证代码流程 [强烈建议使用] 时才需要此值。) |
| 发发者 | 用于标识CDISU统一认证网关的字符串。此值是网址,网关地址附加 /.well-known/openid-configuration 后表示认证网关的 OIDC 发现文档的位置。 |
| 发现文档 | 定义了第三方应用如何动态发现OIDC服务的元数据文档。CISU PASSPORT作为身份验证服务提供者,为了来简化配置流程,提供了一个发现文档在: https://passport.cdisu.edu.cn/.well-known/openid-configuration |
| 范围和声明 | 范围和令牌共同代表执行操作的权限。令牌授予权限,范围决定实际操作或行为是什么。 |
| 身份验证 | CISU PASSPORT 执行身份验证以登录最终用户或确定最终用户已登录。CISU PASSPORT 以安全的方式将服务器执行的身份验证结果返回给客户端,以便客户端可以依赖它。 |
| 身份令牌 | 给应用下发代表登录用户的身份令牌,即OIDC令牌(OIDC Token)。身份令牌令牌是一种安全令牌,其中包含有关使用客户端时授权服务器对最终用户进行身份验证的声明,以及可能的其他请求声明。身份令牌表示为 JSON Web 令牌 (JWT) 。 |
| 访问令牌 | 访问令牌与身份令牌不同,它不包含用户的任何可识别信息。访问令牌的存在是为了在有限的基础上授权访问应用程序和服务器等资源。访问令牌不是身份验证的证据。 |
身份验证流程
身份验证流程是获取身份令牌的路径。流程的类型取决于所使用的应用程序类型,例如基于浏览器或基于服务器的应用程序,以及该应用程序的安全要求。共有三个常见流程。
简洁的说地说,CDISU PASSPORT遵循OpenID Connect 协议使用以下步骤。
三方应用 向 身份验证网关 发送请求。 身份验证网关对最终用户进行身份验证并获得授权。 身份验证网关使用身份令牌和访问令牌进行响应。 客户端 可以向 用户身份端点 发送带有访问令牌的请求,来获取有关最终用户的声明。
授权码流程是 我们强烈建议使用的流程.
授权码流程
这种流类型的工作原理是将授权代码交换成令牌。它比隐式流更安全,因为令牌不会直接返回客户端。此流程专为 Web 和移动应用程序而设计。
隐式流程
隐式流程专为没有后端的基于浏览器的应用程序而设计,例如使用 JavaScript 的应用程序。隐式流程通过重定向统一资源定位器 (URL) 直接向客户端或服务返回令牌。
混合流程
混合流结合了隐式和授权流,将身份令牌直接返回客户端,而不是访问令牌。相反,将返回授权代码来代替访问令牌。