AM
TH
เริ่มต้นฟรี
เมนู
ประเภท

Client Key

คู่กุญแจเข้ารหัสสำหรับลงลายเซ็นโทเคน โดยเปิดเผย public key ผ่าน JWKS endpoint

cryptography jwt jwks signing keys

Client Key

Client Key คือคู่กุญแจเข้ารหัสที่ใช้ลงลายเซ็นโทเคน โดย public key จะเผยแพร่ผ่าน JWKS สำหรับการตรวจสอบ ส่วน private key จะไม่ถูกเปิดเผย

สคีมา

interface ClientKey {
  kid: string; // Key ID ที่ใช้ใน JWT headers
  credential_id: string; // Client ID (cid...)
  jwk: object; // Public JWK
  public_key: string; // PEM public key
}

คุณสมบัติ

PropertyTypeคำอธิบาย
kidstringรหัสคีย์ (kid ใน JWT header)
credential_idstringไคลเอนต์ที่คีย์นี้สังกัด
jwkobjectรูปแบบ Public JWK
public_keystringPEM public key

รูปแบบ JWKS

public key ที่เปิดเผยผ่าน /.well-known/jwks.json:

{
  "keys": [
    {
      "kty": "RSA",
      "use": "sig",
      "kid": "key_2kHfPZcN9xW4mE8RtY7vB",
      "alg": "RS256",
      "n": "0vx7agoebG...",
      "e": "AQAB"
    }
  ]
}

การหมุนคีย์

สร้างคีย์ใหม่ลงลายเซ็นด้วยคีย์ใหม่คีย์เก่าใน JWKSลบคีย์เก่า

แนวทางที่แนะนำ:

  • หมุนคีย์ตามรอบระยะเวลา
  • เปิดคีย์ 2-4 ตัวระหว่างช่วงเปลี่ยนผ่าน
  • เก็บคีย์เก่าไว้ใน JWKS เพื่อรองรับการตรวจสอบโทเคนเดิม

ตัวอย่าง

{
  "kid": "key_2kHfPZcN9xW4mE8RtY7vB",
  "credential_id": "cid_1jGePYbM8wV3lD7QsX6uA",
  "jwk": { "kty": "RSA", "kid": "key_..." },
  "public_key": "-----BEGIN PUBLIC KEY-----..."
}

ที่เกี่ยวข้อง

  • Client - การตั้งค่าไคลเอนต์
  • Clients - การจัดการไคลเอนต์
  • Backend Integration - การตรวจสอบโทเคน