有JWT為什麼還要用oAuth2 0來做登入和許可權認證呢?

時間 2021-05-29 23:44:50

1樓:小飛俠

我想你想弄清楚的應該以下幾個問題 1.session和token的區別 2. jwt是什麼 3.

sso和oauth2.0的區別 3. 簡單登入和三方授權登入的區別

2樓:陳濤

簡單來說這兩者根本就不是乙個東西。

OAUTH2.0是一種授權方式,一種流程規範。比如說你要訪問某個論壇,但是你不想重新註冊,你想用QQ號登陸!

(需要論壇先在QQ開放平台註冊),那麼你登入的時候,選擇QQ,它就會跳轉到QQ的登入頁面,你登入完,再跳轉到論壇。論壇就會獲取QQ給的授權資訊。我這裡只是簡單說一下流程,具體會複雜很多。

JWT,是TOKEN的一種形式,TOKEN說簡單了,就是乙個秘鑰(隨機數)。以往的TOKEN,你拿到之後要獲取使用者資訊,需要再去資料庫匹配查詢,而JWT乾脆將使用者資訊儲存在了TOKEN裡,你解析就可以獲得。

所以,兩者根本就不是一種東西。

3樓:乙隻小菜雞

jwt只是一種token的形式,你完全可以不用jwt,哪怕一段隨機的字串也可以當作token(不考慮安全性、前後端訪問壓力等因素)。你這邊使用token是因為http協議無狀態,token是用來記錄使用者狀態資訊以完成你的後端業務邏輯的。本質上,你這邊使用token是用來在無狀態的http協議下,維持使用者狀態的。

oauth是給第三方應用授權的一套協議,或者說是一種第三方認證的解決方案。本質上,oauth是通過一系列方法,成功識別出使用者的身份和第三方應用身份,從而根據使用者的授權,允許第三方應用從你這邊獲取使用者相關的資訊的一種解決方案。

所以oauth和token完全不是乙個維度上的東西。

4樓:大寬寬

大概等價於「我有乙個防盜門」,為啥還要花功夫做請人把門裝上,並配好鎖,並管好鑰匙

弄乙個可以進入的人的名單

弄乙個可以掃臉/指紋來識別要進來的人是誰的看門狗硬體告訴大家不要隨便放生人進來

才能保證安全。

對啊,為什麼呢?

5樓:步行鳥

你把token的形式和授權認證協議二者搞混了oauth2是乙個行業標準的授權協議, 包含一系列流程和標準jwt只是指Json web token, 只是一種token的形式

你可以在使用oauth2流程的時候授權乙個jwt形式的token, 也可以使用其它形式的token, bearer token, mac token等等

你也可以不用oauth2流程, 在自己的授權流程裡使用jwt, 你的情況就是這種

總之token怎麼用, 什麼形式, 是你自己的事

有虛擬機器為什麼還要用雙系統?

劉國慶 分應用場景吧,有些時候虛擬機器方式香,有的時候雙系統香,脫離具體應用場景談某種方式好,這不妥當。題主對雙系統有疑問,我就列舉一下使用雙系統方式而不是虛擬機器方式的一些理由吧 雙系統方式快。這個不承認不行,無論你是什麼虛擬化技術,虛擬機器的效能多多少少都會打折扣 與具體硬體打交道的場景幾乎是虛...

鋪路的瀝青對身體有害為什麼還要用?

安暢道路養護 1.瀝青路面施工成型過程中由於高散發刺激性氣味對近距離人體有稍許影響,但成型後冷卻為常態,在常態溫度下不會產生質和量的變化,達到環保要求。2.瀝青雖含有一定的毒性物質,但瀝青中的毒性物質是非揮發性的,目前也沒有在瀝青中含有危險致癌物質的報告。在人體不直接接觸的部位使用瀝青,不會對使用者...

既然同人文可以嚴重ooc,那麼為什麼還要用真人的名字,自己起個名不好嗎?

西緬 我不太懂不寫同人文,但天天嚷著太太怎麼不產糧。太太產糧又說ooc不好吃的人。我沒有說題主是這樣的人的意思,只是因為我遇見過很多人都是這樣。同人圈裡大家普遍年輕,對一些事情看不慣也很正常,但你仔細想一想就知道,作者寫這些東西肯定也是出於他自己的需求,然後上來就一頓攻擊,如果作者也年輕氣盛一點,指...