日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > > 架構(gòu)師社區(qū)
[導(dǎo)讀]當(dāng)企業(yè)應(yīng)用系統(tǒng)逐漸增多后,每個(gè)系統(tǒng)單獨(dú)管理各自的用戶數(shù)據(jù)容易形成信息孤島,分散的用戶管理模式阻礙了企業(yè)應(yīng)用向平臺(tái)化演進(jìn)。

作者:mars

鏈接:https://juejin.cn/post/6906149001520037902

-     前言     -

當(dāng)企業(yè)應(yīng)用系統(tǒng)逐漸增多后,每個(gè)系統(tǒng)單獨(dú)管理各自的用戶數(shù)據(jù)容易形成信息孤島,分散的用戶管理模式阻礙了企業(yè)應(yīng)用向平臺(tái)化演進(jìn)。

企業(yè)的互聯(lián)網(wǎng)業(yè)務(wù)發(fā)展到一定規(guī)模,構(gòu)建統(tǒng)一的標(biāo)準(zhǔn)化賬戶管理體系將是必不可少的,因?yàn)樗瞧髽I(yè)互聯(lián)網(wǎng)云平臺(tái)的重要基礎(chǔ)設(shè)施,能夠?yàn)槠脚_(tái)帶來統(tǒng)一的帳號(hào)管理、身份認(rèn)證、用戶授權(quán)等基礎(chǔ)能力,為企業(yè)帶來諸如跨系統(tǒng)單點(diǎn)登錄、第三方授權(quán)登錄等基礎(chǔ)能力,為構(gòu)建開放平臺(tái)和業(yè)務(wù)生態(tài)提供必要條件。

- 名詞定義 -

  • Third-party application:第三方應(yīng)用程序,本文中又稱"客戶端"(client)。

  • HTTP service:HTTP服務(wù)提供商,本文中簡(jiǎn)稱"服務(wù)提供商"。

  • Resource Owner:資源所有者,本文中又稱"用戶"(user),即登錄用戶。

  • User Agent:用戶代理,本文中就是指瀏覽器。

  • Authorization server:認(rèn)證服務(wù)器,即服務(wù)提供商專門用來處理認(rèn)證的服務(wù)器。

  • Resource server:資源服務(wù)器,即服務(wù)提供商存放用戶生成的資源的服務(wù)器。它與認(rèn)證服務(wù)器,可以是同一臺(tái)服務(wù)器,也可以是不同的服務(wù)器。

- 研發(fā)背景 -

單體應(yīng)用體系下,應(yīng)用是一個(gè)整體,一般針對(duì)所有的請(qǐng)求都會(huì)進(jìn)行權(quán)限校驗(yàn)。請(qǐng)求一般會(huì)通過一個(gè)權(quán)限的攔截器進(jìn)行權(quán)限的校驗(yàn),在登錄時(shí)將用戶信息緩存到 session 中,后續(xù)訪問則從緩存中獲取用戶信息。

隨著 Restful API、微服務(wù)的興起,基于 Token 的認(rèn)證現(xiàn)在已經(jīng)越來越普遍。Token 和 Session ID 不同,并非只是一個(gè) key。Token 一般會(huì)包含用戶的相關(guān)信息,通過驗(yàn)證 Token 就可以完成身份校驗(yàn)。

基于 Token 認(rèn)證的優(yōu)勢(shì)如下:

  • 服務(wù)端無狀態(tài):Token 機(jī)制在服務(wù)端不需要存儲(chǔ) session 信息,因?yàn)?Token 自身包含了所有用戶的相關(guān)信息。

  • 性能較好,因?yàn)樵隍?yàn)證 Token 時(shí)不用再去訪問數(shù)據(jù)庫(kù)或者遠(yuǎn)程服務(wù)進(jìn)行權(quán)限校驗(yàn),自然可以提升不少性能。

  • 支持移動(dòng)設(shè)備,支持跨程序調(diào)用,Cookie 是不允許垮域訪問的,而 Token 則不存在這個(gè)問題。

- 研發(fā)目標(biāo) -

通過標(biāo)準(zhǔn)安全認(rèn)證流程,異構(gòu)系統(tǒng)或跨服務(wù)間能夠靈活地實(shí)現(xiàn)指定功能部件或服務(wù)的集成、統(tǒng)一的安全認(rèn)證。

基于 Token 認(rèn)證的一個(gè)典型流程如下:

  1. 用戶輸入登錄信息(或者調(diào)用 Token 接口,傳入用戶信息),發(fā)送到身份認(rèn)證服務(wù)進(jìn)行認(rèn)證(身份認(rèn)證服務(wù)可以和服務(wù)端在一起,也可以分離,看微服務(wù)拆分情況了)。

  2. 身份驗(yàn)證服務(wù)驗(yàn)證登錄信息是否正確,返回接口(一般接口中會(huì)包含用戶基礎(chǔ)信息、權(quán)限范圍、有效時(shí)間等信息),客戶端存儲(chǔ)接口,可以存儲(chǔ)在 Session 或者數(shù)據(jù)庫(kù)中。

  3. 客戶端將 Token 放在 HTTP 請(qǐng)求頭中,發(fā)起相關(guān) API 調(diào)用。

  4. 被調(diào)用的微服務(wù),驗(yàn)證 Token 權(quán)限。

  5. 服務(wù)端返回相關(guān)資源和數(shù)據(jù)。

1、安全認(rèn)證功能點(diǎn)


一文揭秘微服務(wù)架構(gòu)統(tǒng)一安全認(rèn)證設(shè)計(jì)與實(shí)踐!

(1)獲取憑證, 第三方應(yīng)用客戶端使用客戶端編碼/安全碼、資源所有者用戶名/密碼等證件信息從授權(quán)服務(wù)器上獲取Access Token資源訪問憑證。

(2)登錄授權(quán),客戶端攜帶Access Token憑證訪問服務(wù)器資源,資源服務(wù)器驗(yàn)證Token、第三方應(yīng)用憑證信息、資源所有者User合法性,通過Token讀取資源所有者身份信息(user) 加載資源所有者的權(quán)限項(xiàng)執(zhí)行登錄。

(3)訪問鑒權(quán),第三方應(yīng)用客戶端訪問服務(wù)端資源,系統(tǒng)驗(yàn)證訪問者Access Token合法性、權(quán)限信息,驗(yàn)證憑證(Access Token)正確,此時(shí)資源服務(wù)器就會(huì)返回資源信息。

(4)憑證續(xù)約,Access token訪問憑證過期需要進(jìn)行憑證續(xù)約,刷新Token憑證有效期。

2、技術(shù)選型分析

  1. 系統(tǒng)授權(quán)采用OAuth2開放式授權(quán)標(biāo)準(zhǔn)密碼模式。

  2. Token采用JWT標(biāo)準(zhǔn)。

(1)OAuth開放授權(quán)

OAuth(Open Authorization,開放授權(quán))是為用戶資源的授權(quán)定義了一個(gè)安全、開放及簡(jiǎn)單的標(biāo)準(zhǔn),第三方無需知道用戶的賬號(hào)及密碼,就可獲取到用戶的授權(quán)信息。

主要的四種授權(quán)方式:

  • 授權(quán)碼模式(authorization code)用在客戶端與服務(wù)端應(yīng)用之間授權(quán)碼。

  • 簡(jiǎn)化模式(implicit)用在移動(dòng)app或者web app(這些app是在用戶的設(shè)備上的,如在手機(jī)上調(diào)起微信來進(jìn)行認(rèn)證授權(quán))。不通過第三方應(yīng)用程序的服務(wù)器,直接在瀏覽器中向認(rèn)證服務(wù)器申請(qǐng)令牌,跳過了"授權(quán)碼"這個(gè)步驟,因此得名。所有步驟在瀏覽器中完成,令牌對(duì)訪問者是可見的,且客戶端不需要認(rèn)證。

  • 密碼模式(resource owner password credentials)應(yīng)用直接都是受信任的(都是由一家公司開發(fā)的)密碼模式中,用戶向客戶端提供自己的用戶名和密碼。客戶端使用這些信息,向"服務(wù)商提供商"索要授權(quán)。在這種模式中,用戶必須把自己的密碼給客戶端,但是客戶端不得儲(chǔ)存密碼。

  • 客戶端模式(client credentials)用在應(yīng)用API訪問客戶端模式(Client Credentials Grant)指客戶端以自己的名義,而不是以用戶的名義,向"服務(wù)提供商"進(jìn)行認(rèn)證。嚴(yán)格地說,客戶端模式并不屬于OAuth框架所要解決的問題。在這種模式中,用戶直接向客戶端注冊(cè),客戶端以自己的名義要求"服務(wù)提供商"提供服務(wù),其實(shí)不存在授權(quán)問題。

(2)Json web token (JWT)

Json web token (JWT), 是為了在網(wǎng)絡(luò)應(yīng)用環(huán)境間傳遞聲明而執(zhí)行的一種基于JSON的開放標(biāo)準(zhǔn)((RFC 7519).該token被設(shè)計(jì)為緊湊且安全的,特別適用于分布式站點(diǎn)的單點(diǎn)登錄(SSO)場(chǎng)景。JWT的聲明一般被用來在身份提供者和服務(wù)提供者間傳遞被認(rèn)證的用戶身份信息,以便于從資源服務(wù)器獲取資源,也可以增加一些額外的其它業(yè)務(wù)邏輯所必須的聲明信息,該token也可直接被用于認(rèn)證,也可被加密。

3、認(rèn)證流程邏輯

(1)系統(tǒng)授權(quán)

第三方應(yīng)用客戶端使用客戶端編碼/安全碼、資源所有者用戶名/密碼等證件信息從授權(quán)服務(wù)器上獲取Access Token資源訪問憑證。

一文揭秘微服務(wù)架構(gòu)統(tǒng)一安全認(rèn)證設(shè)計(jì)與實(shí)踐!

系統(tǒng)授權(quán)頒發(fā)給客戶應(yīng)用Access Token:


一文揭秘微服務(wù)架構(gòu)統(tǒng)一安全認(rèn)證設(shè)計(jì)與實(shí)踐!

(2)系統(tǒng)鑒權(quán)

客戶端攜帶Access Token憑證訪問服務(wù)器資源,資源服務(wù)器驗(yàn)證Token、第三方應(yīng)用、資源所有者User合法性,通過Token讀取資源所有者身份信息(user) 加載資源所有者的權(quán)限執(zhí)行登錄。

一文揭秘微服務(wù)架構(gòu)統(tǒng)一安全認(rèn)證設(shè)計(jì)與實(shí)踐!

系統(tǒng)驗(yàn)證訪問者Access Token合法性、權(quán)限信息,驗(yàn)證憑證(Access Token)正確,此時(shí)資源服務(wù)器就會(huì)返回資源信息。

(3)憑證續(xù)約

Access token訪問憑證過期需要進(jìn)行憑證續(xù)約,刷新Token憑證有效期。

一文揭秘微服務(wù)架構(gòu)統(tǒng)一安全認(rèn)證設(shè)計(jì)與實(shí)踐!

- 接口設(shè)計(jì) -

1. 授權(quán)憑證

獲取授權(quán)憑證,校驗(yàn)客戶端身份信息、校驗(yàn)資源所有者身份信息,下發(fā)Token憑證。

一文揭秘微服務(wù)架構(gòu)統(tǒng)一安全認(rèn)證設(shè)計(jì)與實(shí)踐!

客戶端編碼/安全碼需要第三方應(yīng)用到系統(tǒng)注冊(cè)審核通過后生成。

一文揭秘微服務(wù)架構(gòu)統(tǒng)一安全認(rèn)證設(shè)計(jì)與實(shí)踐!

一文揭秘微服務(wù)架構(gòu)統(tǒng)一安全認(rèn)證設(shè)計(jì)與實(shí)踐!

2. 授權(quán)憑證續(xù)約

獲取續(xù)約授權(quán)憑證,校驗(yàn)客戶端身份信息、校驗(yàn)RefreshToken憑證,下發(fā)Token憑證。

一文揭秘微服務(wù)架構(gòu)統(tǒng)一安全認(rèn)證設(shè)計(jì)與實(shí)踐!

一文揭秘微服務(wù)架構(gòu)統(tǒng)一安全認(rèn)證設(shè)計(jì)與實(shí)踐!

一文揭秘微服務(wù)架構(gòu)統(tǒng)一安全認(rèn)證設(shè)計(jì)與實(shí)踐!


免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問題,請(qǐng)聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀

在全球電子電氣產(chǎn)品供應(yīng)鏈中,AC-DC轉(zhuǎn)換器作為核心電源組件,其安全認(rèn)證已成為企業(yè)突破國(guó)際市場(chǎng)的關(guān)鍵門檻。從北美市場(chǎng)的UL認(rèn)證到歐盟市場(chǎng)的CE認(rèn)證,再到覆蓋60余國(guó)的CB認(rèn)證,不同認(rèn)證體系在技術(shù)標(biāo)準(zhǔn)、測(cè)試流程和合規(guī)要求上...

關(guān)鍵字: AC-DC轉(zhuǎn)換器 安全認(rèn)證

實(shí)時(shí)操作系統(tǒng) (RTOS) 是嵌入式設(shè)備的基礎(chǔ)。所有特定于應(yīng)用程序的代碼都依賴于 RTOS 來執(zhí)行。RTOS 類似于建筑物的地基 - 如果地基不牢固,整棟建筑物可能會(huì)倒塌。嵌入式系統(tǒng)中的 RTOS 也是如此。如果它出現(xiàn)故...

關(guān)鍵字: RTOS 安全認(rèn)證

安全認(rèn)證芯片一種專門設(shè)計(jì)用于提高系統(tǒng)安全性的硬件組件。它通常被用來存儲(chǔ)敏感數(shù)據(jù)并執(zhí)行加密操作,以保護(hù)數(shù)據(jù)免受未經(jīng)授權(quán)的訪問和篡改。除了金融、消費(fèi)電子和工業(yè)汽車等領(lǐng)域外,其實(shí)在醫(yī)療設(shè)備配件/耗材領(lǐng)域,安全認(rèn)證芯片也發(fā)揮著重...

關(guān)鍵字: 醫(yī)療設(shè)備配件 安全認(rèn)證 1-Wire PUF DeepCover ADI

摘要:水泥窯協(xié)同處置工藝使用的垃圾混合上料系統(tǒng),由生活垃圾緩存?zhèn)}、污泥緩存?zhèn)}、單軸螺旋輸送機(jī)、雙軸混合螺旋輸送機(jī)、臥式強(qiáng)力混合器、液壓柱塞泵和輔助設(shè)備等組成。成套混合上料系統(tǒng)在使用過程中,混合環(huán)節(jié)和高壓泵送環(huán)節(jié)會(huì)遇到液壓...

關(guān)鍵字: 混合 一體化 實(shí)踐

摘要:工業(yè)APP對(duì)工業(yè)知識(shí)經(jīng)驗(yàn)的軟件化和復(fù)用,對(duì)工業(yè)的數(shù)字化、智能化轉(zhuǎn)型起到關(guān)鍵作用?,F(xiàn)分析總結(jié)了工業(yè)APP集成的四類場(chǎng)景,基于四類場(chǎng)景的特點(diǎn)提出了相應(yīng)的工業(yè)APP集成架構(gòu),為平臺(tái)、服務(wù)商、企業(yè)等各類主體開展工業(yè)APP匯...

關(guān)鍵字: 集成 資源匯聚 微服務(wù)

中國(guó)北京,2021年11月1日 -- 上海芯思維信息科技有限公司(簡(jiǎn)稱“芯思維”)今日宣布獲得德國(guó)萊茵TüV大中華區(qū)(簡(jiǎn)稱“TüV萊茵”)針對(duì)其EDA邏輯仿真及故障仿真開發(fā)輔助驗(yàn)證與故障注入測(cè)試工具SSIM,頒發(fā)的國(guó)內(nèi)首...

關(guān)鍵字: 艾思維 萊茵 EDA 安全認(rèn)證

摘 要:貴州師范學(xué)院開設(shè)了物聯(lián)網(wǎng)工程、信息工程、電子信息科學(xué)與技術(shù)等應(yīng)用技術(shù)型本科專業(yè)。《模擬電子技術(shù)》是該專業(yè)知識(shí)體系中一門承上啟下的核心基礎(chǔ)課程。本課程結(jié)合貴州師范學(xué)院對(duì)相關(guān)專業(yè)培養(yǎng)體系的需求,從教學(xué)實(shí)踐出發(fā),借助慕...

關(guān)鍵字: 模擬電子技術(shù) 慕課 翻轉(zhuǎn)課堂 實(shí)踐

隨著微服務(wù)架構(gòu)的流行,服務(wù)按照不同的維度進(jìn)行拆分,一次請(qǐng)求往往需要涉及到多個(gè)服務(wù)

關(guān)鍵字: 微服務(wù) 鏈路

互聯(lián)網(wǎng)系統(tǒng)為大量的C端用戶提供服務(wù),如果隔三差五的出問題宕機(jī),會(huì)嚴(yán)重影響用戶體驗(yàn),甚至導(dǎo)致用戶流失。

關(guān)鍵字: 微服務(wù) 互聯(lián)網(wǎng) 系統(tǒng)穩(wěn)定性

使用微服務(wù)網(wǎng)關(guān)作為微服務(wù)面向客戶端的單一入口,是目前普遍采用的微服務(wù)架構(gòu)模式。

關(guān)鍵字: 微服務(wù) 網(wǎng)關(guān) Nginx
關(guān)閉