---
read_when:
    - Робота над визначенням профілю автентифікації або маршрутизацією облікових даних
    - Налагодження збоїв автентифікації моделі або порядку профілів
summary: Канонічна придатність облікових даних і семантика визначення для профілів автентифікації
title: Семантика облікових даних автентифікації
x-i18n:
    generated_at: "2026-04-27T07:07:52Z"
    model: gpt-5.4
    provider: openai
    source_hash: a1172a87053986567ac6051afe99946a9d36e1e838ce693cd56d56e71242d679
    source_path: auth-credential-semantics.md
    workflow: 15
---

Цей документ визначає канонічну придатність облікових даних і семантику визначення, що використовуються в таких компонентах:

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

Мета — забезпечити узгодженість поведінки під час вибору та під час виконання.

## Стабільні коди причин probe

- `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. Посилання, які неможливо визначити, дають `unresolved_ref` у виводі `models status --probe`.

## Явна фільтрація порядку автентифікації

- Коли для провайдера задано `auth.order.<provider>` або перевизначення порядку зі сховища автентифікації, `models status --probe` перевіряє лише ідентифікатори профілів, які залишаються у визначеному порядку автентифікації для цього провайдера.
- Збережений профіль для цього провайдера, пропущений у явному порядку, не перевіряється потім неявно. У виводі probe для нього вказується
  `reasonCode: excluded_by_auth_order` і деталь
  `Excluded by auth.order for this provider.`

## Визначення цілі probe

- Цілі probe можуть надходити з профілів автентифікації, облікових даних середовища або `models.json`.
- Якщо провайдер має облікові дані, але OpenClaw не може визначити для нього придатну до probe модель-кандидат, `models status --probe` повідомляє `status: no_model` з
  `reasonCode: no_model`.

## Захисне правило політики OAuth SecretRef

- Вхід SecretRef призначено лише для статичних облікових даних.
- Якщо облікові дані профілю мають `type: "oauth"`, об’єкти SecretRef не підтримуються для матеріалу облікових даних цього профілю.
- Якщо `auth.profiles.<id>.mode` має значення `"oauth"`, вхід `keyRef`/`tokenRef` на основі SecretRef для цього профілю відхиляється.
- Порушення є жорсткими помилками в шляхах визначення автентифікації під час запуску/перезавантаження.

## Повідомлення зі збереженням сумісності зі спадщиною

Для сумісності зі скриптами перший рядок помилок probe залишається без змін:

`Auth profile credentials are missing or expired.`

Зрозуміла для людини деталізація та стабільні коди причин можуть додаватися в наступних рядках.

## Пов’язане

- [Керування секретами](/uk/gateway/secrets)
- [Сховище автентифікації](/uk/concepts/oauth)
