《数字身份认证技术与实践》为您带来全新的视角,不仅剖析了身份认证的重要性,更以深入浅出的方式解读了标准化解决方案在实际场景中的应用。身份认证不再是简单的注册登录,而是系统安全的基石,《数字身份认证技术与实践》提供了丰富的案例,从作者的一线实践到对外咨询的经验,为读者呈现了多样化的解决方案。无论您是初学者还是专业人士,《数字身份认证技术与实践》都将带领您探索身份认证的核心理论,并在实践中获得深刻的启示。
《数字身份认证技术与实践》内容涵盖身份认证的基础理论,包括身份认证与授权的区别、常见的认证方式以及关键技术和协议,如SAML、OAuth 2.0、OIDC等。除基础概念外,《数字身份认证技术与实践》还展示如何在不同的环境中安全地接入和实现身份认证,包括纯前端应用、BFF和后端领域服务。同时,《数字身份认证技术与实践》详细讨论如何在现有应用中集成其他身份认证系统,以及如何实现社交账号登录等功能。对于追求深入理解的读者,《数字身份认证技术与实践》还准备了一些高级主题,包括在微信小程序中集成认证平台、GraphQL中的身份认证、单点登录、统一登出、多因素认证以及OIDC的高级许可模式等内容。《数字身份认证技术与实践》不仅提供概念性的解释,还借助丰富的代码案例,使用多种编程语言(.Net、Java、Node.js)来展示身份认证技术的应用,让读者在实践中加深理解。
《数字身份认证技术与实践》是为数字化时代的软件工程师、系统架构师、信息安全专家以及对身份认证感兴趣的读者量身定制的图书。《数字身份认证技术与实践》不仅可以帮助读者建立起身份认证的知识体系,更重要的是教会读者如何在实际工作中灵活应用这些知识。如果您希望在数字身份认证领域深入发展,或者希望提升应用安全性,那么《数字身份认证技术与实践》将是您理想的选择。
目 录
第1部分 身份认证的基础概念
第1章 什么是身份认证 2
1.1 身份认证简介以及和授权的联系与区别 3
1.2 认证目标对象有哪些 4
1.3 认证场景有哪些 7
1.4 常用术语有哪些 10
1.5 小结 32
第2章 认证机制与相关算法 33
2.1 认证的基本原理,怎么证明你是谁 33
2.2 计算机安全学基础 38
2.3 常用的算法 42
2.4 JWT结构化令牌详解 56
2.5 小结 62
第3章 认证解决方案 63
3.1 云解决方案 63
3.2 开源解决方案 65
3.3 小结 70
第2部分 身份认证的实战应用
第4章 纯前端应用如何接入身份认证 72
4.1 实例讲解 72
4.2 安全性分析及应对策略 104
4.3 小结 106
第5章 前端代理服务器如何接入身份认证 107
5.1 BFF架构的演进回顾 107
5.2 BFF中的身份认证实现方式 111
5.3 BFF中的身份认证流程 111
5.4 示例代码 111
5.5 实例讲解 112
5.6 小结 119
第6章 后端领域服务如何接入身份认证 120
6.1 领域服务和BFF有什么区别 120
6.2 实例讲解 121
6.3 小结 144
第7章 成熟的产品如何接入身份认证 145
7.1 在自托管GitLab实例中集成Keycloak登录 145
7.2 Keycloak互相集成 154
7.3 用OIDC方式在Keycloak中集成阿里云登录方式 163
7.4 小结 176
第8章 社交登录实战 177
8.1 在Keycloak中集成GitHub登录 177
8.2 在IdentityServer中添加GitHub登录 181
8.3 在Duende IdentityServer中集成Epic Games登录 184
8.4 三步开发社交账号登录 197
8.5 小结 202
第9章 本部分的总结回顾 203
9.1 对接身份认证的一般套路 203
9.2 以Keycloak为例做个梳理 209
9.3 以一个集成测试结束 214
第3部分 高级主题
第10章 如何在微信小程序中集成认证平台 222
10.1 和Web相比,微信小程序有哪些限制 222
10.2 Web View如何安全地取得小程序的原生身份信息 228
10.3 个人版小程序如何对接身份认证平台 233
10.4 小结 237
第11章 GraphQL身份认证 238
11.1 GraphQL简介 238
11.2 在GraphQL中如何实现身份认证 241
11.3 小结 258
第12章 如何实现单点登录和用户联邦 259
12.1 用户连接与用户联邦 260
12.2 单点登录实战 264
12.3 用户联邦实战 275
12.4 在Duende IdentityServer中实现用户联邦 296
12.5 小结 300
第13章 如何实现统一登出 301
13.1 仅退出当前应用 301
13.2 退出当前应用和登录平台 302
13.3 小结 305
第14章 灵活实现扫码登录 306
14.1 基于Spring Security实现公众号关注即登录 306
14.2 基于Keycloak的关注微信公众号即登录方案 324
14.3 基于Authing.cn的关注微信公众号即登录的实现方案 334
14.4 对接微信登录的三种方式 340
14.5 小结 344
第15章 多因素身份认证 345
15.1 你所拥有的东西 346
15.2 你所知道的东西 354
15.3 你本身就是生物识别因素 355
15.4 小结 356
第16章 设备码授权流程 357
16.1 对接Keycloak设备码授权流程 359
16.2 对接Duende IdentityServer的设备码授权流程 367
16.3 在网页中对接设备码授权流程 372
第17章 NONCE模式与令牌交换流程 378
17.1 NONCE模式 378
17.2 令牌交换流程 380
第4部分 身份认证的趋势与展望
第18章 趋势与展望 384
18.1 OIDC的新特性 384
18.2 Passkey技术 386
18.3 FIDO 386
18.4 FIDO2和WebAuthn 387
18.5 基于零信任的身份认证 387
18.6 分布式身份认证 389
18.7 隐私保护和数据安全 391
18.8 AI技术的应用 391
18.9 小结 391
结语 392
参考文献 393