以前的開發(fā)模式是以MVC為主,但是隨著互聯(lián)網(wǎng)行業(yè)快速的發(fā)展逐漸的演變成了前后端分離,若項(xiàng)目中需要做登錄的話,那么token成為前后端唯一的一個(gè)憑證。
創(chuàng)新互聯(lián)建站專注于清澗企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城網(wǎng)站建設(shè)。清澗網(wǎng)站建設(shè)公司,為清澗等地區(qū)提供建站服務(wù)。全流程按需定制設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)token即標(biāo)志、記號(hào)的意思,在IT領(lǐng)域也叫作令牌。在計(jì)算機(jī)身份認(rèn)證中是令牌(臨時(shí))的意思,在詞法分析中是標(biāo)記的意思。一般作為邀請(qǐng)、登錄系統(tǒng)使用。
token其實(shí)說的更通俗點(diǎn)可以叫暗號(hào),在一些數(shù)據(jù)傳輸之前,要先進(jìn)行暗號(hào)的核對(duì),不同的暗號(hào)被授權(quán)不同的數(shù)據(jù)操作。例如在USB1.1協(xié)議中定義了4類數(shù)據(jù)包:token包、data包、handshake包和special包。主機(jī)和USB設(shè)備之間連續(xù)數(shù)據(jù)的交換可以分為三個(gè)階段,第一個(gè)階段由主機(jī)發(fā)送token包,不同的token包內(nèi)容不一樣(暗號(hào)不一樣)可以告訴設(shè)備做不同的工作,第二個(gè)階段發(fā)送data包,第三個(gè)階段由設(shè)備返回一個(gè)handshake包。
在HTTP請(qǐng)求中使用承載令牌來訪問OAuth 2.0受保護(hù)的資源。擁有承載令牌的任何一方(“承載方”)都可以使用它訪問相關(guān)資源(無需證明擁有加密密鑰)。為了防止誤用,需要防止在存儲(chǔ)和傳輸中泄露承載令牌。
OAuth允許客戶端通過獲取訪問令牌,它在“OAuth 2.0授權(quán)”中定義框架“[RFC6749]作為”表示訪問的字符串而不是使用資源直接服務(wù)的憑證。
該令牌由服務(wù)端允許的情況下,由客戶端通過某種方式向服務(wù)端發(fā)出請(qǐng)求,由服務(wù)端向客戶端發(fā)出,客戶機(jī)使用訪問令牌訪問由資源服務(wù)器承載的受保護(hù)的資源。該規(guī)范描述了當(dāng)OAuth訪問令牌是承載令牌時(shí),如何發(fā)出受保護(hù)的資源請(qǐng)求。
客戶端只需要擁有token可以以任何一種方法傳遞token,客戶端需要知道參數(shù)加密的密鑰,只需要存儲(chǔ)token即可。
OAuth為客戶端提供了一種方法來代表資源所有者訪問受保護(hù)的資源。在一般情況下,客戶機(jī)在訪問受保護(hù)的資源之前,必須首先從資源所有者獲得授權(quán),然后將授權(quán)交換為訪問令牌。訪問令牌表示授權(quán)授予授予的范圍、持續(xù)時(shí)間和其他屬性??蛻魴C(jī)通過向資源服務(wù)器顯示訪問令牌來訪問受保護(hù)的資源。在某些情況下,客戶端可以直接向服務(wù)端顯示的發(fā)送自己的憑證。
+--------+ +---------------+ | |--(A)- Authorization Request ->| Resource | | | | Owner | | |<-(B)-- Authorization Grant ---| | | | +---------------+ | | | | +---------------+ | |--(C)-- Authorization Grant -->| Authorization | | Client | | Server | | |<-(D)----- Access Token -------| | | | +---------------+ | | | | +---------------+ | |--(E)----- Access Token ------>| Resource | | | | Server | | |<-(F)--- Protected Resource ---| | +--------+ +---------------+