---
read_when:
    - กำลังทำงานกับการแก้ไขการอ้างอิงโปรไฟล์การยืนยันตัวตนหรือการกำหนดเส้นทางข้อมูลรับรอง
    - กำลังแก้ไขจุดบกพร่องของความล้มเหลวในการยืนยันตัวตนของโมเดลหรือลำดับของโปรไฟล์
summary: ความมีสิทธิ์และความหมายของการแก้ไขการอ้างอิงข้อมูลรับรองแบบมาตรฐานสำหรับโปรไฟล์การยืนยันตัวตน
title: ความหมายของข้อมูลรับรองการยืนยันตัวตน
x-i18n:
    generated_at: "2026-04-23T05:24:28Z"
    model: gpt-5.4
    provider: openai
    source_hash: a4cd3e16cd25eb22c5e707311d06a19df1a59747ee3261c2d32c534a245fd7fb
    source_path: auth-credential-semantics.md
    workflow: 15
---

# ความหมายของข้อมูลรับรองการยืนยันตัวตน

เอกสารนี้กำหนดความมีสิทธิ์และความหมายของการแก้ไขการอ้างอิงข้อมูลรับรองแบบมาตรฐานที่ใช้ร่วมกันใน:

- `resolveAuthProfileOrder`
- `resolveApiKeyForProfile`
- `models status --probe`
- `doctor-auth`

เป้าหมายคือทำให้พฤติกรรมในช่วงเวลาเลือกและขณะรันไทม์สอดคล้องกัน

## รหัสเหตุผลของการตรวจสอบแบบคงที่

- `ok`
- `excluded_by_auth_order`
- `missing_credential`
- `invalid_expires`
- `expired`
- `unresolved_ref`
- `no_model`

## ข้อมูลรับรองโทเค็น

ข้อมูลรับรองโทเค็น (`type: "token"`) รองรับ `token` แบบอินไลน์ และ/หรือ `tokenRef`

### กฎความมีสิทธิ์

1. โปรไฟล์โทเค็นไม่มีสิทธิ์เมื่อไม่มีทั้ง `token` และ `tokenRef`
2. `expires` เป็นตัวเลือก
3. หากมี `expires` อยู่ ค่าจะต้องเป็นตัวเลขจำกัดที่มากกว่า `0`
4. หาก `expires` ไม่ถูกต้อง (`NaN`, `0`, ติดลบ, ไม่จำกัด, หรือเป็นชนิดข้อมูลไม่ถูกต้อง) โปรไฟล์จะไม่มีสิทธิ์พร้อม `invalid_expires`
5. หาก `expires` อยู่ในอดีต โปรไฟล์จะไม่มีสิทธิ์พร้อม `expired`
6. `tokenRef` ไม่ข้ามการตรวจสอบ `expires`

### กฎการแก้ไขการอ้างอิง

1. ความหมายของตัวแก้ไขการอ้างอิงตรงกับความหมายของความมีสิทธิ์สำหรับ `expires`
2. สำหรับโปรไฟล์ที่มีสิทธิ์ วัสดุโทเค็นอาจถูกแก้ไขการอ้างอิงจากค่าอินไลน์หรือ `tokenRef`
3. ref ที่ไม่สามารถแก้ไขการอ้างอิงได้จะให้ `unresolved_ref` ในเอาต์พุต `models status --probe`

## การกรองลำดับการยืนยันตัวตนแบบชัดเจน

- เมื่อมีการตั้งค่า `auth.order.<provider>` หรือการแทนที่ลำดับ auth-store สำหรับ
  provider, `models status --probe` จะตรวจสอบเฉพาะรหัสโปรไฟล์ที่ยังคงอยู่ใน
  ลำดับการยืนยันตัวตนที่แก้ไขการอ้างอิงแล้วสำหรับ provider นั้น
- โปรไฟล์ที่จัดเก็บไว้สำหรับ provider นั้นซึ่งถูกละออกจากลำดับแบบชัดเจนจะ
  ไม่ถูกลองใช้ภายหลังแบบเงียบ ๆ เอาต์พุตการตรวจสอบจะรายงานพร้อม
  `reasonCode: excluded_by_auth_order` และรายละเอียด
  `Excluded by auth.order for this provider.`

## การแก้ไขการอ้างอิงเป้าหมายการตรวจสอบ

- เป้าหมายการตรวจสอบอาจมาจากโปรไฟล์การยืนยันตัวตน ข้อมูลรับรองจากสภาพแวดล้อม หรือ
  `models.json`
- หาก provider มีข้อมูลรับรอง แต่ OpenClaw ไม่สามารถแก้ไขการอ้างอิงตัวเลือกโมเดลที่ตรวจสอบได้
  สำหรับมัน `models status --probe` จะรายงาน `status: no_model` พร้อม
  `reasonCode: no_model`

## ตัวป้องกันนโยบาย OAuth SecretRef

- อินพุต SecretRef มีไว้สำหรับข้อมูลรับรองแบบคงที่เท่านั้น
- หากข้อมูลรับรองของโปรไฟล์เป็น `type: "oauth"` จะไม่รองรับอ็อบเจ็กต์ SecretRef สำหรับวัสดุข้อมูลรับรองของโปรไฟล์นั้น
- หาก `auth.profiles.<id>.mode` เป็น `"oauth"` อินพุต `keyRef`/`tokenRef` ที่รองรับด้วย SecretRef สำหรับโปรไฟล์นั้นจะถูกปฏิเสธ
- การละเมิดถือเป็นความล้มเหลวร้ายแรงในเส้นทางการแก้ไขการอ้างอิง auth ระหว่างการเริ่มต้น/รีโหลด

## ข้อความที่เข้ากันได้กับระบบเดิม

เพื่อความเข้ากันได้ของสคริปต์ บรรทัดแรกของข้อผิดพลาดการตรวจสอบยังคงไม่เปลี่ยนแปลง:

`Auth profile credentials are missing or expired.`

อาจมีการเพิ่มรายละเอียดที่เป็นมิตรต่อผู้อ่านและรหัสเหตุผลแบบคงที่ในบรรทัดถัดไปได้
