node的身份認(rèn)證機(jī)制

身份認(rèn)證

身份認(rèn)證,又稱(chēng) ”身份驗(yàn)證“,”鑒權(quán)“,是指通過(guò)一定的手段,完成對(duì)用戶(hù)身份的確認(rèn),例如:

各大網(wǎng)站的手機(jī)驗(yàn)證碼登錄,郵箱密碼登錄,二維碼登錄

為什么需要身份認(rèn)證

身份認(rèn)證的目的,是為了確認(rèn)當(dāng)前所聲稱(chēng)為某種身份的用戶(hù),確實(shí)是所聲稱(chēng)的用戶(hù)

例如:你去找快遞員取快遞,你要怎么證明這份快遞是你的

不同開(kāi)發(fā)模式下的身份認(rèn)證

對(duì)于服務(wù)端渲染前后端分離這兩種開(kāi)發(fā)模式來(lái)說(shuō),分別有著不同的身份認(rèn)證方案

服務(wù)端渲染 推薦使用 Session 認(rèn)證機(jī)制

前后端分離推薦使用 JWT 認(rèn)證機(jī)制

什么是 Cookie

Cookie 是存儲(chǔ)在用戶(hù)瀏覽器中的一段不超過(guò) 4 KB 的字符串。它由一個(gè)名稱(chēng)(Name)、一個(gè)值(Value)和其它幾個(gè)用于控制 Cookie 有效期、安全性、使用范圍的可選屬性組成

不同域名下的 Cookie 各自獨(dú)立,每當(dāng)客戶(hù)端發(fā)起請(qǐng)求時(shí),會(huì)自動(dòng)當(dāng)前域名下所有未過(guò)期的 Cookie 一同發(fā)送到服務(wù)器

Cookie 的幾大特性

自動(dòng)發(fā)送,域名獨(dú)立,過(guò)期時(shí)限,4KB 限制

Cookie 在身份認(rèn)證中的作用

客戶(hù)端第一次請(qǐng)求服務(wù)器的時(shí)候,服務(wù)器通過(guò)響應(yīng)頭的形式,向客戶(hù)端發(fā)送一個(gè)身份認(rèn)證的 Cookie,客戶(hù)端會(huì)自動(dòng)將 Cookie 保存在瀏覽器中。

隨后,當(dāng)客戶(hù)端瀏覽器每次請(qǐng)求服務(wù)器的時(shí)候,瀏覽器會(huì)自動(dòng)將身份認(rèn)證相關(guān)的 Cookie,通過(guò)請(qǐng)求頭的形式發(fā)送給服務(wù)器,服務(wù)器即可驗(yàn)明客戶(hù)端的身份



Cookie 不具有安全性

由于 Cookie 是存儲(chǔ)在瀏覽器中的,而且瀏覽器也提供了讀寫(xiě) Cookie 的 API,因此 Cookie 很容易被偽造,不具有安全性。因此不建議服務(wù)器將重要的隱私數(shù)據(jù)通過(guò) Cookie 的形式發(fā)送給瀏覽器

注意:千萬(wàn)不要使用 Cookie 存儲(chǔ)重要且隱私的數(shù)據(jù)! 比如用戶(hù)的身份信息、密碼等

Session 的工作原理



Session 認(rèn)證的局限性

Session 認(rèn)證機(jī)制需要配合 Cookie 才能實(shí)現(xiàn)。由于 Cookie 默認(rèn)不支持跨域訪問(wèn),所以,當(dāng)涉及到前端跨域請(qǐng)求后端接口的時(shí)候,需要做很多額外的配置,才能實(shí)現(xiàn)跨域 Session 認(rèn)證

注意:

當(dāng)前端請(qǐng)求后端接口不存在跨域問(wèn)題的時(shí)候,推薦使用 Session 身份認(rèn)證機(jī)制

前端需要跨域請(qǐng)求后端接口的時(shí)候,不推薦使用 Session 身份認(rèn)證機(jī)制,推薦使用 JWT 認(rèn)證機(jī)制

什么是 JWT

JWT(英文全稱(chēng):JSON Web Token)是目前最流行的跨域認(rèn)證解決方案

JWT 的工作原理

用戶(hù)的信息通過(guò) Token 字符串的形式,保存在客戶(hù)端瀏覽器中

服務(wù)器通過(guò)還原 Token 字符串的形式來(lái)認(rèn)證用戶(hù)的身份


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容