การดูแลระบบ

คีย์ API และไคลเอนต์ OAuth

สร้างคีย์ API แบบมีสโคปสำหรับสคริปต์และ CI ลงทะเบียนไคลเอนต์ OAuth สำหรับแอปที่ทำงานแทนผู้ใช้ และเพิกถอนทั้งสองอย่างเมื่อเสร็จ

Polylane มีข้อมูลรับรองสองประเภทสำหรับการเข้าถึงแบบโปรแกรม คีย์ API เหมาะกับสคริปต์ CI และเครื่องมือแบบไม่มีหน้าจอ: หนึ่งคีย์ หนึ่ง workspace ชุดสโคปที่กำหนดตายตัว ไคลเอนต์ OAuth เหมาะกับแอปพลิเคชันที่ให้ผู้ใช้ลงชื่อเข้าใช้และเรียก Polylane ในนามของผู้ใช้ และทั้งสองยืนยันตัวตนกับ API เดียวกัน

คีย์ API

เปิด Settings > API Keys ในคอนโซล แล้วคลิก Create an API key ตั้งชื่อคีย์ (อย่างน้อย 4 ตัวอักษร) และเลือกสโคป: แบบฟอร์มเลือกสโคปที่สมาชิกภาพของคุณเองมีไว้ล่วงหน้า และคำขอสโคปที่คุณไม่มีจะล้มเหลวด้วย 403 คีย์แสดงเพียงครั้งเดียว เริ่มด้วย sk_ และดูอีกครั้งไม่ได้ ดังนั้นให้คัดลอกลงตัวจัดการความลับของคุณ

ส่งคีย์ใน header x-api-key:

Terminal
curl https://api.polylane.com/v1/scopes \
  -H "x-api-key: sk_xxxxx"

คำขอได้รับอนุญาตตามสโคปของคีย์ ไม่ใช่สิทธิ์ทั้งหมดของคุณ เพิกถอนคีย์จากหน้าการตั้งค่าเดียวกันหรือด้วย DELETE ไปที่ /v1/api_keys/{workspaceId}/{id} ผู้สร้างคีย์หรือผู้ดูแล workspace ลบได้

สโคป

สโคปจับคู่ทรัพยากรกับการกระทำ และ GET /v1/scopes แสดงรายการทุกสโคปพร้อมคำอธิบาย เหล่านี้คือสโคปที่คุณจะพบบ่อยที่สุดในเอกสารเหล่านี้

สโคปคำอธิบาย
threads:readดูเธรด
issues:writeรับทราบ แก้ไข หรือรันการตรวจสอบ issue ใหม่
cloud_infra:readดูโหนดและเส้นเชื่อมของโครงสร้างพื้นฐานคลาวด์
autofixes:writeบันทึกและอัปเดตสถานะวงจรชีวิตของ autofix
agent_tools:readค้นพบและรันเครื่องมือของเอเจนต์แบบอ่านอย่างเดียวจากไคลเอนต์ภายนอก เช่น MCP
agent_tools:writeรันเครื่องมือของเอเจนต์ที่เขียนได้จากไคลเอนต์ภายนอก ภายใต้การตรวจสอบความปลอดภัย
oauth_clients:writeสร้างและจัดการไคลเอนต์ OAuth
analytics:readดูกิจกรรมของ workspace เนื้อหายอดนิยม และสถิติการใช้งาน

ไคลเอนต์ OAuth

ไคลเอนต์ OAuth คือแอปพลิเคชันที่คุณลงทะเบียนเพื่อให้มันให้ผู้ใช้ลงชื่อเข้าใช้และเรียก Polylane ด้วยสโคปที่ผู้ใช้แต่ละคนอนุมัติ การจัดการไคลเอนต์ต้องใช้ oauth_clients:write เปิด Settings > OAuth Clients แล้วคลิก New OAuth client: ชื่อและอีเมลติดต่อจะปรากฏบนหน้าจอขอความยินยอม คุณเพิ่ม redirect URI และสโคปที่ไคลเอนต์ขอได้ ส่วนคำอธิบาย เว็บไซต์ และโลโก้ไม่บังคับ การสร้างคืน client ID ที่เริ่มด้วย oauth_client_ และ client secret ที่แสดงเพียงครั้งเดียว หากคุณทำ secret หาย ให้ Rotate จากหน้าของไคลเอนต์ และ secret เดิมจะหยุดทำงานทันที

ขั้นตอนการอนุญาต

Polylane ใช้ OAuth 2.0 authorization code flow พร้อม PKCE (S256)

ส่งผู้ใช้ไปยังหน้าขอความยินยอม

https://console.polylane.com/oauth/<client-id>
  ?client_id=<client-id>
  &redirect_uri=https://example.com/callback
  &scope=threads:read%20issues:read
  &code_challenge=<challenge>
  &code_challenge_method=S256
  &state=<random-state>

redirect URI ต้องตรงกับที่คุณลงทะเบียนไว้ทุกตัวอักษร และทุกสโคปที่ขอต้องเป็นสโคปที่ไคลเอนต์ได้รับอนุญาต

แลก code เป็นโทเค็น

หลังผู้ใช้อนุมัติ Polylane จะ redirect ไปยัง callback ของคุณพร้อม code แลกมันบน backend ของคุณ:

Terminal
curl -X POST https://api.polylane.com/v1/oauth/token \
  -H "Content-Type: application/json" \
  -d '{"grant_type": "authorization_code", "code": "<code>",
       "redirect_uri": "https://example.com/callback",
       "client_id": "<client-id>", "client_secret": "<client-secret>",
       "code_verifier": "<verifier>"}'

การตอบกลับมี access_token ที่หมดอายุหลังจากหนึ่งชั่วโมง และ refresh_token

เรียก API ในนามผู้ใช้

Terminal
curl https://api.polylane.com/v1/scopes \
  -H "Authorization: Bearer <access-token>"

รีเฟรชเมื่อ access token หมดอายุ

ส่ง POST grant_type refresh_token ไปยัง token endpoint เดียวกัน refresh token ใช้ได้ครั้งเดียว: การรีเฟรชแต่ละครั้งคืนโทเค็นทดแทน

metadata ของเซิร์ฟเวอร์ รวมถึง URL ของทุก endpoint เผยแพร่ที่ https://api.polylane.com/v1/.well-known/oauth-authorization-server และผู้ให้บริการยังเปิดให้ใช้ /v1/oauth/userinfo และ /v1/oauth/introspect เพิกถอนโทเค็นที่แอปพลิเคชันของคุณถืออยู่ด้วย POST ไปยัง /v1/oauth/revoke พร้อมโทเค็นและข้อมูลรับรองไคลเอนต์ของคุณ โดยตั้ง token_type_hint เป็น access_token หรือ refresh_token หรือละไว้เพื่อลองทั้งสองแบบ การลบไคลเอนต์จากหน้าของมันจะหยุดไม่ให้เริ่มการอนุญาตเพิ่มเติม

เอเจนต์เขียนโค้ด

คุณไม่ต้องมีไคลเอนต์ OAuth เพื่อเชื่อมต่อเอเจนต์เขียนโค้ด เซิร์ฟเวอร์ MCP แบบโฮสต์ที่ https://mcp.polylane.com/mcp รันขั้นตอน OAuth ของตัวเองพร้อม dynamic client registration และยังรับคีย์ API ด้วย ดู เซิร์ฟเวอร์ MCP ของแพลตฟอร์ม

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