🔐 ก่อนจะมารู้จักกับ JWT เรามาดูการยืนยันตัวตนแบบเก่ากันก่อน โดยแบบเก่าจะต้องส่งผ่าน HTTP protocal ไปที่ server แล้วนำไป query ใน database เพื่อนำข้อมูลมาเทียบกัน
.
และเนื่องจากเจ้า HTTP protocal เนี่ยเป็น stateless ซึ่งมันจะไม่จดจำข้อมูลการส่งเอาไว้ดังนั้นเมื่อจะทำงานอะไรเลยต้องแนบข้อมูลไว้ให้มันผ่าน cookie ด้วย เพื่อให้รู้ว่าคนที่ request นี้เป็นใคร ทำให้ต้องมีการ query เพิ่มเติมใน database ในทุกๆ request
.
หากต้องการเพิ่ม server ก็จะเกิดปัญหา เนื่องจาก server ตัวใหม่ก็ต้องมี session ID ที่เหมือนตัวเก่าแต่ทว่า database มันไม่ sync กันทำให้จัดการได้ยาก และเนื่องจากต้องส่งข้อมูลผ่าน cookie ถ้าส่งข้อมูลข้าม Domain ก็ทำไม่ได้อีก
.
นอกจากนี้การส่ง Session ID ในทุกๆครั้งก็อาจส่งผลกระทบด้านความปลอดภัยได้ 👻
.
📦 JWT ย่อมาจาก JSON Web Token เป็นstandardที่มาแก้ปัญหาด้านการส่งข้อมูล โดยโครงสร้างของมันประกอบด้วย3ส่วนคือ
.
Header : เก็บประเภท token และวิธีการเข้ารหัส
Payload : เก็บข้อมูลที่ใช้
Signature : เป็นส่วนที่เอาไว้ยืนยันว่า token นี้เป็นของจริงมาจากเว็บเราจริงๆ
.
📬 การใช้งานก็สามารถพ่วงไปกับ HTTP request ผ่าน Header ได้เลยเมื่อส่งไปถึงมือ server แล้ว ตัว server ก็จะต้องเช็ค Signature เพื่อยันยันว่าเป็นของจริงหรือไม่ ต่อไปก็จะทำการ decode ตัว payload เพื่อนำข้อมูลไปใช้
.
เนื่องจาก JWT สามารถเก็บข้อมูลเองได้ จึงเป็นการลดขั้นตอนการทำงานไม่ต้องQuery ข้อมูลเพิ่มเติม และไม่ต้องเก็บ session ID ไว้ใน server อีกด้วย เพราะ browser จะเก็บข้อมูล JWT เพื่อส่งกลับให้ server ผ่าน browser เพื่อยืนยันตัวตน
.
🎯 สรุปแล้วเจ้า JWT สามารถใช้ได้กับทุกงานที่รองรับการส่งข้อมูลแบบ JSON และมีการส่งข้อมูลแบบ HTTP protocal โดยที่เราสามารถใช้การทำงานกับระบบที่มีหลาย server หรือการติดต่อข้าม domain ได้ง่ายกว่า
.
แต่ก็มีข้อควรระวังคือ Payload นั้นไม่ควรเก็บข้อมูลที่เป็นความลับเด็ดขาดเนื่องจากยังสามารถ decode ออกมาดูได้อยู่ และ token นั้นแก้ไขไม่ได้ ต้องสร้างใหม่อย่างเดียวจึงควรตั้งเวลาหมดอายุได้ด้วย
.
สำหรับใครที่อยากลองเล่น มาได้ที่นี่เลย https://jwt.io/
.
#BorntoDev - 🦖 Coding Academy ให้การพัฒนาเทคโนโลยีเป็นเรื่องง่ายสำหรับทุกคน
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
「http request header」的推薦目錄:
- 關於http request header 在 BorntoDev Facebook 的最讚貼文
- 關於http request header 在 TOYSREVIL Facebook 的精選貼文
- 關於http request header 在 コバにゃんチャンネル Youtube 的最讚貼文
- 關於http request header 在 大象中醫 Youtube 的最佳貼文
- 關於http request header 在 大象中醫 Youtube 的精選貼文
- 關於http request header 在 headers not sent with HTTP request - Stack Overflow 的評價
http request header 在 TOYSREVIL Facebook 的精選貼文
Buy here: http://toysrevil.bigcartel.com/product/toysrevil-collector-s-edition-promo-pack
For US$15 (excluding shipping+handling) you will get:
1 x TOYSREVIL Artist Proof 'Gold-Foil' Embossed Trading Card from 'The Art Hustle Series 2'
1 x TOYSREVIL Autograph Card (promotional card with no reverse printing - unsigned / pls request for signature)
4 x TOYSREVIL Plastic Buttons (Sized 1 3/4" wide each)
1 x TOYSREVIL Sticker Sheet
3 x TOYSREVIL Postcard Prints
This edition is limited to only 10 sets, and will come numbered on header-tag. First come first served.
The Autograph will come unsigned. Signature upon request (so please indicate so in the comments area during paypal payment)
For a limited time only, you will also receive:
2 x Irene Sandra Postcards
2 x Irene Sandra Buttons
1 x Mini Print from Breeanzz
Regular Edition Purchase here: http://toysrevil.bigcartel.com/product/toysrevil-collectors-promo-pack
http request header 在 headers not sent with HTTP request - Stack Overflow 的推薦與評價
... <看更多>