在Web開發領域,我們經常會聽到Json Web Token和OAuth這類技術選型方案。這兩者都是用來替代傳統Cookie+Session這種會話認證機制的,但很多人會將這兩者混淆。
Json Web Token簡稱為JWT(Json Web令牌),它是當前最流行的跨域身份驗證解決方案,用Json物件在各個系統間安全的傳輸資訊。通俗的說,JWT是基於Json資料組構的認證規範。
它的應用場景主要有:
實現Web應用的單點登入;
應用於使用者認證授權操作;
各個應用中傳遞非敏感資訊等。
JWT這種輕量級認證機制較傳統的Cookie+Session機制有哪些優點呢?主要有:
1、無狀態特性
Token只是用於校驗的,它本身就包含了所登入使用者的資訊,並不需要在服務端儲存Session資訊,只需要在客戶端儲存即可(減輕了服務端的壓力)。
2、可跨域訪問
我們知道Cookie是有同域限制的,而Token則不存在跨域的問題。
3、它是輕量級的
上面介紹的JWT乾的事情聽上去和OAuth似乎差不多,很多人就分不清這兩者的區別。簡單來說它們之間的關係與區別是這樣的:
1、JWT是一種認證規範、OAuth是一種認證框架;
2、OAuth規定了一整套的授權流程,Token是資訊傳遞載體,具體的實現方式是由JWT規定的。
在Web開發領域,我們經常會聽到Json Web Token和OAuth這類技術選型方案。這兩者都是用來替代傳統Cookie+Session這種會話認證機制的,但很多人會將這兩者混淆。
什麼是Json Web Token?Json Web Token簡稱為JWT(Json Web令牌),它是當前最流行的跨域身份驗證解決方案,用Json物件在各個系統間安全的傳輸資訊。通俗的說,JWT是基於Json資料組構的認證規範。
它的應用場景主要有:
實現Web應用的單點登入;
應用於使用者認證授權操作;
各個應用中傳遞非敏感資訊等。
JWT的優點JWT這種輕量級認證機制較傳統的Cookie+Session機制有哪些優點呢?主要有:
1、無狀態特性
Token只是用於校驗的,它本身就包含了所登入使用者的資訊,並不需要在服務端儲存Session資訊,只需要在客戶端儲存即可(減輕了服務端的壓力)。
2、可跨域訪問
我們知道Cookie是有同域限制的,而Token則不存在跨域的問題。
3、它是輕量級的
JWT與OAuth的區別是什麼?上面介紹的JWT乾的事情聽上去和OAuth似乎差不多,很多人就分不清這兩者的區別。簡單來說它們之間的關係與區別是這樣的:
1、JWT是一種認證規範、OAuth是一種認證框架;
2、OAuth規定了一整套的授權流程,Token是資訊傳遞載體,具體的實現方式是由JWT規定的。