IDaaS 即提供基于云的身份认证和管理服务的平台,确保在准确判定用户身份的基础上,在正确的时间授予用户正确的应用、文件和其他资源的访问权限。IDaaS 能提供多种标准化功能帮助用户实现高效、安全的身份认证管理服务,如单点登录、智能多因素认证、账号生命周期管理等等。
由于 IDaaS 在国内尚属于新兴产品形态,很多人对它只有模糊的印象,所以我们计划用一系列文章,深入浅出介绍 IDaaS 相关的技术原理和细节。本文是“IDaaS 技术解析”系列的第一篇。
单点登录在技术上涉及协议对接、认证方式等诸多细节,我们这里先来聊聊认证方式。由于传统基于 Session 认证方式的局限性,目前单点登录技术中一般使用 Token 认证,它具有扩展性好、服务端负载轻、支持移动端访问、不需要CSRF防护等优势。下文将详细介绍 Token 认证的技术细节。
一、传统基于 Session 的认证方式
在介绍 Token 认证前,先简单介绍一下传统基于 Session 的认证。早前由于 Http 协议无状态的特性(每次客户端和服务端会话完成时,服务端不会保存会话信息,包括用户上一次登录时输入的用户名和密码),于是基于 Session的有状态的认证方式逐渐成为一种流行技术方案,以减少用户在登录客户端时输入用户名和密码的认证操作次数。
简单来说,基于 Session 的认证就是让客户端和服务端之间的认证会话以Session的形式进行存储,并通过在服务端和客户端之间传输 Session,来实现两方之间的身份认证交流。具体流程如下:
1. 用户在客户端输入用户名和密码,进行登录操作;
2.