1. 程式人生 > 程式設計 >【laravel國際會議--中文字幕】JWT認證機制與原理詳解

【laravel國際會議--中文字幕】JWT認證機制與原理詳解

可能很多人都寫過API,都用過json web token(JWT)來做使用者認證,那麼,假設給你下面這麼個token:

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOiJiMDhmODZhZi0zNWRhLTQ4ZjItOGZhYi1jZWYzOTA0NjYwYmQifQ.-xN_h82PHVTCMA9vdoHrcZxH-x5mb11y1537t3rGzcM
複製程式碼
  • 你知道這個token有幾部分組成嗎?
  • 一個token每一部分是怎麼編碼的嗎?
  • 這段token裡背後到底包含了哪些資訊呢?它想幹什麼呢?
  • 這個token是否值得我們信任呢?它有沒有加密或簽名過?有沒有被更改過?
  • 我們如何往這個token裡新增資訊呢?可以新增哪些資訊呢?
  • 假設這是個有效的token,它一旦簽發出去,就相當於把鎖的鑰匙給了別人,就總是能開啟門的,但我們如何讓其失效掉呢?分別有哪些有效手段呢?
  • JWT除了用來使用者認證,還可以幹些什麼呢?

這個專場的目的,不是簡單教我們用個Passport或jwt-auth元件,建立個token,能進行使用者認證了就算完事,不,這種程度還根本不懂JWT,我們不只是藉助個元件搞個使用者認證,真正嚴肅的場合,你還是要知道JWT的背後原理。不是有把槍知道扣扳機就安全了,基本的槍械原理不懂,在戰場上應該會死的很慘。

該專場作者lcobucci開發的元件lcobucci/jwt,基本上是所有PHP相關的jwt元件的底層庫,laravel官方元件Passport的jwt部分是基於它實現的,大名鼎鼎的thephpleague/oauth2-server的jwt部分也基於它,國內很多人使用的tymondesigns/jwt-auth也是基於作者的這個元件實現的。我想其重要性已經不言而明瞭,當然了,實際依賴這個元件的,肯定更多,在此就不一一舉例了。

專場視訊觀看地址:www.pilishen.com/casts/jwt-t…