ข้ามไปยังเนื้อหาหลัก

หมุนคีย์สำหรับลงนาม (Rotate signing keys) (OSS)

บันทึก:

หากคุณใช้ Logto Cloud คุณสามารถหมุนคีย์สำหรับลงนามได้ใน Console UI โปรดดู คู่มือนี้

Logto OSS รองรับการหมุนคีย์สำหรับลงนามตั้งแต่เวอร์ชัน v1.8

คีย์สำหรับลงนามของ Logto OIDC หรือที่รู้จักกันในชื่อ “OIDC private keys” และ “OIDC cookie keys” คือคีย์ที่ใช้สำหรับเข้ารหัส JWTs (โทเค็นการเข้าถึง (Access tokens) และ โทเค็น ID (ID tokens)) และคุกกี้ของเบราว์เซอร์ในเซสชันการลงชื่อเข้าใช้ของ Logto

การหมุนคีย์สำหรับลงนามของคุณเป็นประจำจะช่วยลดความเสี่ยงจากการที่คีย์อาจถูกเปิดเผย Logto แนะนำให้คุณหมุนคีย์สำหรับลงนามอย่างน้อยปีละครั้ง

หมุน OIDC private signing keys

ใช้คำสั่ง CLI ด้านล่างเพื่อสร้าง OIDC private signing key ใหม่ คีย์ใหม่จะถูกนำไปใช้โดยอัตโนมัติหลังจากรีบูต

ตัวเลือกที่ใช้ได้:

--type    (ไม่บังคับ) อัลกอริทึมของคีย์สำหรับลงนามสำหรับ JWTs ของคุณ
ค่าเป็น "rsa" หรือ "ec" ค่าเริ่มต้นคือ "ec"
logto db config rotate oidc.privateKeys --type rsa

ใช้คำสั่ง CLI ด้านล่างเพื่อสร้าง OIDC cookie key ใหม่ คีย์ใหม่จะถูกนำไปใช้โดยอัตโนมัติหลังจากรีบูต

logto db config rotate oidc.cookieKeys

แล้วคีย์เดิมล่ะ?

คำสั่งหมุนคีย์ของ Logto จะไม่ลบคีย์สำหรับลงนามเดิมของคุณ และคีย์เหล่านั้นจะถูกเก็บไว้ในฐานข้อมูลจนกว่าคุณจะลบด้วยตนเอง

โปรดระวังเมื่อจะลบคีย์เดิม เพราะอาจทำให้เกิดปัญหาที่ไม่คาดคิด แนะนำให้เก็บทั้งคีย์ใหม่และคีย์เดิมไว้ช่วงระยะเวลาหนึ่ง (เช่น 2 สัปดาห์) จนกว่าคุณจะมั่นใจว่าผู้ใช้ทั้งหมดของคุณได้ย้ายไปใช้คีย์ใหม่แล้ว

การแก้ไขปัญหา

ใช้ Logto เป็น OIDC Provider ใน Cloudflare Zero Trust

หากคุณต้องการใช้ Logto เป็น OIDC provider กับ Cloudflare Zero Trust โปรดทราบว่า Cloudflare Zero Trust ไม่รองรับ OIDC provider ที่ใช้อัลกอริทึม ECDSA เมื่อหมุน OIDC private signing keys ให้แน่ใจว่าใช้ RSA algorithm โดยระบุ --type rsa ในคำสั่งหมุนคีย์:

logto db config rotate oidc.privateKeys --type rsa