注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)操作系統(tǒng)數(shù)字身份認(rèn)證技術(shù)與實(shí)踐

數(shù)字身份認(rèn)證技術(shù)與實(shí)踐

數(shù)字身份認(rèn)證技術(shù)與實(shí)踐

定 價(jià):¥109.00

作 者: 田杰
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787302658825 出版時(shí)間: 2024-04-01 包裝: 平裝-膠訂
開本: 128開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  《數(shù)字身份認(rèn)證技術(shù)與實(shí)踐》內(nèi)容涵蓋身份認(rèn)證的基礎(chǔ)理論,包括身份認(rèn)證與授權(quán)的區(qū)別、常見的認(rèn)證方式以及關(guān)鍵技術(shù)和協(xié)議,如SAML、OAuth 2.0、OIDC等。除基礎(chǔ)概念外,《數(shù)字身份認(rèn)證技術(shù)與實(shí)踐》還展示如何在不同的環(huán)境中安全地接入和實(shí)現(xiàn)身份認(rèn)證,包括純前端應(yīng)用、BFF和后端領(lǐng)域服務(wù)。同時(shí),《數(shù)字身份認(rèn)證技術(shù)與實(shí)踐》詳細(xì)討論如何在現(xiàn)有應(yīng)用中集成其他身份認(rèn)證系統(tǒng),以及如何實(shí)現(xiàn)社交賬號(hào)登錄等功能。對(duì)于追求深入理解的讀者,《數(shù)字身份認(rèn)證技術(shù)與實(shí)踐》還準(zhǔn)備了一些高級(jí)主題,包括在微信小程序中集成認(rèn)證平臺(tái)、GraphQL中的身份認(rèn)證、單點(diǎn)登錄、統(tǒng)一登出、多因素認(rèn)證以及OIDC的高級(jí)許可模式等內(nèi)容?!稊?shù)字身份認(rèn)證技術(shù)與實(shí)踐》不僅提供概念性的解釋,還借助豐富的代碼案例,使用多種編程語言(.Net、Java、Node.js)來展示身份認(rèn)證技術(shù)的應(yīng)用,讓讀者在實(shí)踐中加深理解。 《數(shù)字身份認(rèn)證技術(shù)與實(shí)踐》是為數(shù)字化時(shí)代的軟件工程師、系統(tǒng)架構(gòu)師、信息安全專家以及對(duì)身份認(rèn)證感興趣的讀者量身定制的圖書?!稊?shù)字身份認(rèn)證技術(shù)與實(shí)踐》不僅可以幫助讀者建立起身份認(rèn)證的知識(shí)體系,更重要的是教會(huì)讀者如何在實(shí)際工作中靈活應(yīng)用這些知識(shí)。如果您希望在數(shù)字身份認(rèn)證領(lǐng)域深入發(fā)展,或者希望提升應(yīng)用安全性,那么《數(shù)字身份認(rèn)證技術(shù)與實(shí)踐》將是您理想的選擇。

作者簡介

  田杰 復(fù)旦大學(xué)軟件工程碩士,研究方向?yàn)槠髽I(yè)信息化。曾經(jīng)在 DHL、英孚教育任職,目前供職于XX集團(tuán)中國數(shù)字技術(shù)部,擔(dān)任資深軟件工程師。對(duì)身份認(rèn)證領(lǐng)域有著非常豐富的上手經(jīng)驗(yàn),在知乎等平臺(tái)受到較多關(guān)注,并通過付費(fèi)咨詢方式幫助眾多企業(yè)解決了他們面臨的身份認(rèn)證相關(guān)問題。

圖書目錄

目  錄
第1部分  身份認(rèn)證的基礎(chǔ)概念
第1章  什么是身份認(rèn)證 2
1.1  身份認(rèn)證簡介以及和授權(quán)的聯(lián)系與區(qū)別 3
1.1.1  身份認(rèn)證簡介 3
1.1.2  身份認(rèn)證與授權(quán)的聯(lián)系與區(qū)別 3
1.2  認(rèn)證目標(biāo)對(duì)象有哪些 4
1.2.1  機(jī)器認(rèn)證 4
1.2.2  人類認(rèn)證 6
1.3  認(rèn)證場景有哪些 7
1.3.1  2A,面向API的身份認(rèn)證 8
1.3.2  2B,面向企業(yè)合作伙伴的身份認(rèn)證 8
1.3.3  2C,面向客戶的身份認(rèn)證 9
1.3.4  2D,面向開發(fā)者的身份認(rèn)證 9
1.3.5  2E,面向內(nèi)部員工的身份認(rèn)證 9
1.4  常用術(shù)語有哪些 10
1.4.1  令牌與會(huì)話如何選擇 10
1.4.2  什么是SAML、OAuth 2.0和OIDC 16
1.4.3  許可類型 21
1.4.4  訪問令牌和身份令牌的區(qū)別 28
1.4.5  刷新令牌是什么 29
1.4.6  什么是單點(diǎn)登錄 29
1.5  小結(jié) 32
第2章  認(rèn)證機(jī)制與相關(guān)算法 33
2.1  認(rèn)證的基本原理,怎么證明你是誰 33
2.1.1  認(rèn)證的基本原理 34
2.1.2  常見的身份驗(yàn)證方法 34
2.2  計(jì)算機(jī)安全學(xué)基礎(chǔ) 38
2.2.1  機(jī)密性、完整性和可用性 38
2.2.2  安全機(jī)制:哈希與加密 39
2.2.3  非對(duì)稱加密在身份認(rèn)證過程中的應(yīng)用 40
2.3  常用的算法 42
2.3.1  SHA(重點(diǎn):SHA256) 42
2.3.2  自適應(yīng)單向函數(shù) 45
2.3.3  RSA 53
2.3.4  常用的簽名算法 55
2.4  JWT結(jié)構(gòu)化令牌詳解 56
2.4.1  頭部 57
2.4.2  載荷 58
2.4.3  簽名 59
2.4.4  動(dòng)手實(shí)驗(yàn) 60
2.5  小結(jié) 62
第3章  認(rèn)證解決方案 63
3.1  云解決方案 63
3.1.1  IaaS、PaaS、SaaS與IDaaS 63
3.1.2  多租戶的概念及其實(shí)例 64
3.1.3  IDaaS實(shí)例 65
3.2  開源解決方案 65
3.2.1  基于Java的Keycloak及其關(guān)鍵組件 66
3.2.2  CAS 68
3.2.3  基于.NET Core的Duende IdentityServer 69
3.2.4  基于Node.js的OIDC Server 69
3.3  小結(jié) 70
第2部分  身份認(rèn)證的實(shí)戰(zhàn)應(yīng)用
第4章  純前端應(yīng)用如何接入身份認(rèn)證 72
4.1  實(shí)例講解 72
4.1.1  準(zhǔn)備工作 72
4.1.2  實(shí)例演示 72
4.2  安全性分析及應(yīng)對(duì)策略 104
4.2.1  公開客戶端 104
4.2.2  關(guān)閉隱式許可流程 105
4.2.3  開啟 PKCE 105
4.3  小結(jié) 106
第5章  前端代理服務(wù)器如何接入身份認(rèn)證 107
5.1  BFF架構(gòu)的演進(jìn)回顧 107
5.1.1  單體應(yīng)用架構(gòu) 107
5.1.2  前后端分離架構(gòu) 107
5.1.3  BFF架構(gòu) 108
5.1.4  BFF架構(gòu)的發(fā)展 108
5.2  BFF中的身份認(rèn)證實(shí)現(xiàn)方式 111
5.3  BFF中的身份認(rèn)證流程 111
5.4  示例代碼 111
5.5  實(shí)例講解 112
5.5.1  在Naive BFF中接入認(rèn)證平臺(tái) 112
5.5.2  在TMI BFF中接入認(rèn)證平臺(tái) 112
5.5.3  在Full BFF中接入認(rèn)證平臺(tái) 116
5.6  小結(jié) 119
第6章  后端領(lǐng)域服務(wù)如何接入身份認(rèn)證 120
6.1  領(lǐng)域服務(wù)和BFF有什么區(qū)別 120
6.2  實(shí)例講解 121
6.2.1  在Java Spring Boot應(yīng)用中接入認(rèn)證 121
6.2.2  通過Bean方式擴(kuò)展Spring應(yīng)用 131
6.2.3  不使用spring-boot-starter-oauth2-resource-server 137
6.3  小結(jié) 144
第7章  成熟的產(chǎn)品如何接入身份認(rèn)證 145
7.1  在自托管GitLab實(shí)例中集成Keycloak登錄 145
7.1.1  步驟詳解 145
7.1.2  測試登錄 153
7.1.3  總結(jié) 154
7.2  Keycloak互相集成 154
7.2.1  在線演示 154
7.2.2  單點(diǎn)登錄 156
7.2.3  集成步驟 159
7.3  用OIDC方式在Keycloak中集成阿里云登錄方式 163
7.3.1  最終效果體驗(yàn) 163
7.3.2  在阿里云RAM訪問控制臺(tái)的OAuth應(yīng)用中創(chuàng)建應(yīng)用 164
7.3.3  在Keycloak中添加Identity Provider 165
7.3.4  在阿里云控制臺(tái)回填回調(diào)地址 168
7.3.5  在阿里云身份管理工作臺(tái)創(chuàng)建用戶 168
7.3.6  在Keycloak中給Identity Provider增加Mappers 169
7.3.7  在Keycloak中給Client scopes增加Mappers 170
7.3.8  定制用戶完善資料頁面 172
7.3.9  郵箱驗(yàn)證 174
7.4  小結(jié) 176
第8章  社交登錄實(shí)戰(zhàn) 177
8.1  在Keycloak中集成GitHub登錄 177
8.1.1  注冊應(yīng)用 178
8.1.2  添加GitHub提供者 178
8.1.3  驗(yàn)證 180
8.2  在IdentityServer中添加GitHub登錄 181
8.2.1  線上體驗(yàn) 181
8.2.2  準(zhǔn)備工作 182
8.2.3  核心代碼 183
8.3  在Duende IdentityServer中集成Epic Games登錄 184
8.3.1  效果演示 185
8.3.2  配置 186
8.3.3  將域名添加到組織中 187
8.3.4  概念 188
8.3.5  創(chuàng)建產(chǎn)品 188
8.3.6  創(chuàng)建客戶端 188
8.3.7  記下客戶端憑據(jù) 188
8.3.8  添加回調(diào)地址 189
8.3.9  創(chuàng)建應(yīng)用 189
8.3.10  關(guān)聯(lián)客戶端 190
8.3.11  填寫法律必需的URL 190
8.3.12  Epic Games的OIDC端點(diǎn) 191
8.3.13  授權(quán) 192
8.3.14  獲取令牌 192
8.3.15  典型的響應(yīng) 192
8.3.16  代碼實(shí)現(xiàn) 193
8.3.17  完成 197
8.4  三步開發(fā)社交賬號(hào)登錄 197
8.4.1  不要自行實(shí)現(xiàn) 197
8.4.2  自行實(shí)現(xiàn)的一般套路 198
8.4.3  在Keycloak中開發(fā)釘釘?shù)卿洸寮?198
8.5  小結(jié) 202
第9章  本部分的總結(jié)回顧 203
9.1  對(duì)接身份認(rèn)證的一般套路 203
9.1.1  在身份認(rèn)證平臺(tái)注冊應(yīng)用 203
9.1.2  在應(yīng)用中配置身份認(rèn)證平臺(tái)的信息 203
9.1.3  構(gòu)造OIDC授權(quán)請求 204
9.1.4  構(gòu)造OIDC Token請求 205
9.1.5  使用OIDC Token請求OIDC用戶信息 206
9.1.6  調(diào)用退出端點(diǎn) 206
9.1.7  相關(guān)故障排除指引 207
9.2  以Keycloak為例做個(gè)梳理 209
9.2.1  涉及的請求端點(diǎn) 209
9.2.2  流程圖概覽 210
9.2.3  步驟詳解 210
9.3  以一個(gè)集成測試結(jié)束 214
9.3.1  添加測試工程 216
9.3.2  添加測試類 217
9.3.3  配置發(fā)現(xiàn) 217
9.3.4  登錄授權(quán) 218
9.3.5  處理回調(diào)以及提取授權(quán)碼 219
9.3.6  請求令牌 220
9.3.7  請求用戶信息 220
9.3.8  總結(jié) 220
第3部分  高級(jí)主題
第10章  如何在微信小程序中集成認(rèn)證平臺(tái) 222
10.1  和Web相比,微信小程序有哪些限制 222
10.2  Web View如何安全地取得小程序的原生身份信息 228
10.3  個(gè)人版小程序如何對(duì)接身份認(rèn)證平臺(tái) 233
10.4  小結(jié) 237
第11章  GraphQL身份認(rèn)證 238
11.1  GraphQL簡介 238
11.2  在GraphQL中如何實(shí)現(xiàn)身份認(rèn)證 241
11.3  小結(jié) 258
第12章  如何實(shí)現(xiàn)單點(diǎn)登錄和用戶聯(lián)邦 259
12.1  用戶連接與用戶聯(lián)邦 260
12.2  單點(diǎn)登錄實(shí)戰(zhàn) 264
12.2.1  使用Keycloak打造多個(gè)系統(tǒng)間的單點(diǎn)登錄體驗(yàn) 264
12.2.2  在Strapi中接入單點(diǎn)登錄 268
12.3  用戶聯(lián)邦實(shí)戰(zhàn) 275
12.3.1  在Keycloak中聯(lián)邦LDAP用戶源 275
12.3.2  基于Keycloak實(shí)現(xiàn)自定義的聯(lián)邦源 291
12.4  在Duende IdentityServer中實(shí)現(xiàn)用戶聯(lián)邦 296
12.5  小結(jié) 300
第13章  如何實(shí)現(xiàn)統(tǒng)一登出 301
13.1  僅退出當(dāng)前應(yīng)用 301
13.2  退出當(dāng)前應(yīng)用和登錄平臺(tái) 302
13.2.1  前通道 303
13.2.2  后通道 303
13.3  小結(jié) 305
第14章  靈活實(shí)現(xiàn)掃碼登錄 306
14.1  基于Spring Security實(shí)現(xiàn)公眾號(hào)關(guān)注即登錄 306
14.1.1  背景和價(jià)值 306
14.1.2  Java Spring-Security 307
14.1.3  Open API 307
14.1.4  關(guān)注公眾號(hào)即登錄的流程設(shè)計(jì) 307
14.1.5  應(yīng)用架構(gòu)設(shè)計(jì) 310
14.1.6  API First開發(fā)方式 311
14.1.7  基于Spring Security實(shí)現(xiàn)關(guān)注微信公眾號(hào)即登錄 311
14.1.8  總結(jié) 324
14.2  基于Keycloak的關(guān)注微信公眾號(hào)即登錄方案 324
14.2.1  好處 325
14.2.2  實(shí)現(xiàn)效果預(yù)覽 325
14.2.3  基于Keycloak的關(guān)注微信公眾號(hào)即登錄方案的實(shí)施架構(gòu) 326
14.2.4  具體設(shè)計(jì)與實(shí)現(xiàn) 327
14.2.5  總結(jié) 334
14.3  基于Authing.cn的關(guān)注微信公眾號(hào)即登錄的實(shí)現(xiàn)方案 334
14.3.1  最終方案展示 335
14.3.2  關(guān)注微信公眾號(hào)即登錄的核心要件 336
14.3.3  其他方案及其與Authing.cn方案的對(duì)比 337
14.3.4  實(shí)現(xiàn)步驟 337
14.3.5  總結(jié) 340
14.4  對(duì)接微信登錄的三種方式 340
14.4.1  登錄原理概覽 340
14.4.2  三種登錄方式的關(guān)鍵步驟 342
14.4.3  總結(jié) 343
14.5  小結(jié) 344
第15章  多因素身份認(rèn)證 345
15.1  你所擁有的東西 346
15.1.1  手機(jī)(作為令牌) 346
15.1.2  通過短信發(fā)送一次性密碼 346
15.1.3  通過電子郵件發(fā)送一次性密碼 353
15.1.4  通過原生應(yīng)用生成一次性密碼 354
15.1.5  通過硬件生成一次性密碼 354
15.1.6  智能卡 354
15.1.7  硬件Fob 354
15.2  你所知道的東西 354
15.2.1  用戶名和密碼 355
15.2.2  PIN 355
15.2.3  安全問題 355
15.3  你本身就是生物識(shí)別因素 355
15.3.1  指紋 355
15.3.2  聲紋 355
15.3.3  面部識(shí)別 355
15.3.4  虹膜掃描 356
15.3.5  視網(wǎng)膜掃描 356
15.4  小結(jié) 356
第16章  設(shè)備碼授權(quán)流程 357
16.1  對(duì)接Keycloak設(shè)備碼授權(quán)流程 359
16.1.1  源代碼 359
16.1.2  最終效果體驗(yàn) 359
16.1.3  配置 360
16.1.4  獲取用戶授權(quán)碼和設(shè)備碼 361
16.1.5  打開瀏覽器并瀏覽verification_uri 363
16.1.6  等待用戶授權(quán) 364
16.1.7  輪詢令牌 365
16.1.8  用戶授權(quán)成功 367
16.1.9  總結(jié) 367
16.2  對(duì)接Duende IdentityServer的設(shè)備碼授權(quán)流程 367
16.2.1  流程概覽 367
16.2.2  準(zhǔn)備工作 369
16.2.3  效果演示 370
16.3  在網(wǎng)頁中對(duì)接設(shè)備碼授權(quán)流程 372
16.3.1  相關(guān)代碼提交 372
16.3.2  增加獲取XSRF令牌接口 372
16.3.3  測試先行 372
16.3.4  增加接口 374
16.3.5  添加網(wǎng)頁文件和相關(guān)的JS 375
16.3.6  本地測試 376
16.3.7  上線測試 377
16.3.8  總結(jié) 377
第17章  NONCE模式與令牌交換流程 378
17.1  NONCE模式 378
17.2  令牌交換流程 380
第4部分  身份認(rèn)證的趨勢與展望
第18章  趨勢與展望 384
18.1  OIDC的新特性 384
18.1.1  JAR 384
18.1.2  PAR 385
18.2  Passkey技術(shù) 386
18.3  FIDO 386
18.4  FIDO2和WebAuthn 387
18.5  基于零信任的身份認(rèn)證 387
18.5.1  核心原則 388
18.5.2  關(guān)鍵組件 388
18.5.3  實(shí)施步驟 388
18.6  分布式身份認(rèn)證 389
18.6.1  去中心化身份標(biāo)識(shí) 390
18.6.2  去中心化PKI體系 390
18.6.3  可驗(yàn)證憑證 391
18.7  隱私保護(hù)和數(shù)據(jù)安全 391
18.8  AI技術(shù)的應(yīng)用 391
18.9  小結(jié) 391
結(jié)語 392
參考文獻(xiàn) 393

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)