หมุนคีย์สำหรับลงนาม (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"
- CLI
- local
- npx
logto db config rotate oidc.privateKeys --type rsa
npm run cli db config rotate oidc.privateKeys -- --type rsa
npx @logto/cli db config rotate oidc.privateKeys -- --type rsa
หมุน OIDC cookie keys
ใช้คำสั่ง CLI ด้านล่างเพื่อสร้าง OIDC cookie key ใหม่ คีย์ใหม่จะถูกนำไปใช้โดยอัตโนมัติหลังจากรีบูต
- CLI
- local
- npx
logto db config rotate oidc.cookieKeys
npm run cli db config rotate oidc.cookieKeys
npx @logto/cli 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
ในคำสั่งหมุนคีย์:
- CLI
- local
- npx
logto db config rotate oidc.privateKeys --type rsa
npm run cli db config rotate oidc.privateKeys -- --type rsa
npx @logto/cli db config rotate oidc.privateKeys -- --type rsa