H-3657: добавил в how-to упоминание isValidForDisplay-проверки

При тестировании наткнулся на 401 «Login Required» с валидным
live-токеном, потому что у юзера-владельца стоял is_hidden=true.
findIdentityByAccessToken после поиска токена ещё прогоняет
User::isValidForDisplay() — это надо явно упоминать в how-to,
иначе интегратор не поймёт почему не работает.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Denis
2026-05-22 13:41:50 +03:00
co-authored by Claude Opus 4.7
parent 1b4b61bc4f
commit 5173f32b0f
+14
View File
@@ -87,6 +87,20 @@ info:
- Если у токена выставлен `expires_at` — после этой даты он перестаёт - Если у токена выставлен `expires_at` — после этой даты он перестаёт
работать сам (статус `EXPIRED`). работать сам (статус `EXPIRED`).
## Когда валидный токен всё равно даёт 401
`User::findIdentityByAccessToken` дополнительно вызывает
`User::isValidForDisplay()`, поэтому даже корректный live-токен
отдаёт `401 Login Required`, если у владельца:
- `is_hidden = true` (юзер скрыт администратором), либо
- `reg_status_id` **не входит** в `RegStatus::validForDisplay()`
(например `INVITED`, `BLOCKED` и пр.).
Для системного юзера-интегратора убедитесь, что он `is_hidden=false`
и в активном reg-статусе, иначе токен не пройдёт ни на одном
`/api/v2/*` эндпоинте.
## Управление токенами под Bearer запрещено ## Управление токенами под Bearer запрещено
Management-эндпоинты (`/user-api-token*`, `/admin/user-api-token*`) Management-эндпоинты (`/user-api-token*`, `/admin/user-api-token*`)