iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 6
0
Modern Web

普通人寫前後端,可以挺過30天 吧!?系列 第 6

[Day06] 後端05:WHO IS JWT ?

經過我深思熟慮反覆思考,我想做的方向到底是什麼,通常一般的教學文,這邊就要開始教View、Controller、Route之類的,但是這又跟我當初想做的「使用laravel開API,讓前端來打」這件事有些許偏離,於是我決定放飛自我直接開始「如何搭配使用JWT」!
有機會我再把View、Controller、Route 補齊吧!/images/emoticon/emoticon37.gif

第一步 我需要JWT?

  • 為什麼我需要jwt呢? 因為我只學過jwt,我就爛
  • 採用JSON object的形式,大部分的程式語言皆支援
  • 前端會先透過存取後端的登入API,後端驗證使用者帳密成功後,就會發放合法JWT字串
  • 若身分核對成功後,就會發一組 Token 給前端,此時就可以利用Bearer作為驗證方案,將這組憑證夾帶在Header,造訪需要權限的API,讓後端知道你的身分是合法的。

何謂JWT?

  • JWT是JSON Web Token的簡寫,是一種開放標準(RFC 7519),也就是基於JSON object的編碼,並透過這個編碼進行傳遞資訊。
  • JWT會透過HMAC、RSA、ECDS等演算法進行加密
  • 通常利用JWT來對使用者進行驗證,也就是使用者會先請求身分提供的伺服器給予該JWT,而後,只要使用者帶著這個JWT向資源伺服器請求資源,如果這個JWT是有效的,那麼就能獲取資源
  • 由三大部分組成:
    base64UrlEncode(header)
    base64UrlEncode(payload)
    secret
    (所以token 才會樂樂ㄉㄥˊ)
  • 時效預設為60分鐘,時效一過或者自行登出,則該 Token 失效,必須重新取得 Token。

參考


上一篇
[Day05] 後端04:Laravel cmd ~
下一篇
[Day07] 後端06:Laravel JWT
系列文
普通人寫前後端,可以挺過30天 吧!?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言