[Day | jwt實作
最近正在想說...咦訂閱數怎突然有變多的跡象!突然看到小財神大大給我文章按個like後,察覺事情並不單存(皺眉皺原來我的系列文被刊在FB粉絲團上啊~真是雀躍在寒冷天氣中感到窩心哈哈XD雖然標題只寫上鐵人賽好文分享,簡潔有力(´∀`)總之還是謝謝小編的賞賜謝拉拉拉~~本文你將會學到了解JWT運作原理實作使用者登入並取得一組APIToken前言為什麼要有APIToken呢?各位可以想想若今天我要存取特別資料例如交易紀錄或是發文紀錄,這些資料都有獨特性也就是這些資料只有你能做存取與修改,所以在訪問某些重要的API前就必須要有一個Token...
最近正在想說...咦訂閱數怎突然有變多的跡象!突然看到小財神大大給我文章按個like後,察覺事情並不單存(皺眉皺原來我的系列文被刊在FB粉絲團上啊~真是雀躍 在寒冷天氣中感到窩心哈哈XD雖然標題只寫上鐵人賽好文分享,簡潔有力(´∀`)總之還是謝謝小編的賞賜謝拉拉拉~~
本文你將會學到 了解 JWT 運作原理 實作使用者登入並取得一組 API Token 前言為什麼要有 API Token 呢?各位可以想想若今天我要存取特別資料例如交易紀錄或是發文紀錄,這些資料都有獨特性也就是這些資料只有你能做存取與修改,所以在訪問某些重要的 API 前就必須要有一個 Token 來驗證你是否有權限來訪問裡面的資料,那我們該怎去實作呢?早期作法就是使用 Session 並且生成一個 Session 的 Token 我們稱 SessionID,所謂 SessionID 就是一個既不會重複,又不容易被找到規律以免被仿造的字符串,你可以自己隨機產生一組字串,可能用當下時間戳記、年、月、日、時、分、秒來當種子搭配英文26個字母外加標點符號經亂數用亂後所產生的一組字串可能長度30、20之類的,每次訪問某特別 API 前就由 SessionID 來做 Token 驗證,但這不是今天的重點!今天要用一個比較新的方法而且更方便更快速的來產生我們要的 API Token 就是 JWT !
事前準備今天要繼續實作的程式是延續 [Day-31] (實作)自定義API Error拋出錯誤訊息[1] 的專案繼續實作,想跟著今天的實作可以先下載下面的整包程式,記得要先 yarn install 將整個依賴的軟體安裝回來。
程式碼:https://github.com/andy6804tw/RESTful_API_start_kit/releases/tag/V14.0.0[2]
何謂 JWTJWT 是 JSON Web Token 的縮寫,通常用來解決身份認證的問題,JWT 是一個很長的 base64 字串在這字串中分為三個部分別用點號來分隔,第一個部分為 Header ,裡面分別儲存型態和加密方法,通常系統是預設 HS25...