[Bug] Обновить требование к паролю в user-authentication (ASCII, 8–72) #46

Closed
opened 2026-10-16 10:05:32 +03:00 by codex-bot · 1 comment
Owner

Bug Report

Проблема и шаги воспроизведения

openspec/specs/user-authentication/spec.md (Requirement «Регистрация пользователя») требует пароль «от 12 до 72 UTF-8 байтов» без требований к составу. WealthLedger/backend#60 (PR backend#109, frontend#89, влиты в develop) ввёл другую policy, и спецификация ей противоречит.

Факт / ожидание

  • Факт: spec требует 12–72 UTF-8 байтов; реализация на register принимает только печатный ASCII U+0020–U+007E длиной 8–72 символа.
  • Ожидание: spec описывает принятую policy.
    • Register: 8–72 печатных ASCII-символа (буквы, цифры, спецсимволы, пробел); пароль передаётся без trim и нормализации; обязательных классов символов нет.
    • Login: пароль непустой, не длиннее 72 UTF-8 байтов; минимум и набор символов не проверяются, чтобы пользователи с прежним паролем могли войти.
    • Невалидный пароль → 400 Problem Details, code VALIDATION_ERROR, указатель на поле.
  • Решение owner и допущения (пробел разрешён, login мягкий) зафиксированы в WealthLedger/backend#60.

Acceptance Criteria

  • Requirement «Регистрация пользователя» описывает 8–72 печатных ASCII без требований к составу и без изменения пароля.
  • Requirement «Вход пользователя» описывает мягкую проверку (максимум 72 байта) и вход с прежним паролем.
  • Есть сценарии: граничные длины, не-ASCII/управляющие символы отвергаются на register, прежний не-ASCII пароль принимается на login.
  • npm run verify и OpenSpec validation пройдены.

Окружение / ссылки (если применимо)

Refs WealthLedger/backend#60. Парная правка docs — отдельная Issue в WealthLedger/docs.

# Bug Report ## Проблема и шаги воспроизведения `openspec/specs/user-authentication/spec.md` (Requirement «Регистрация пользователя») требует пароль «от 12 до 72 UTF-8 байтов» без требований к составу. WealthLedger/backend#60 (PR backend#109, frontend#89, влиты в `develop`) ввёл другую policy, и спецификация ей противоречит. ## Факт / ожидание - Факт: spec требует 12–72 UTF-8 байтов; реализация на register принимает только печатный ASCII U+0020–U+007E длиной 8–72 символа. - Ожидание: spec описывает принятую policy. - Register: 8–72 печатных ASCII-символа (буквы, цифры, спецсимволы, пробел); пароль передаётся без trim и нормализации; обязательных классов символов нет. - Login: пароль непустой, не длиннее 72 UTF-8 байтов; минимум и набор символов не проверяются, чтобы пользователи с прежним паролем могли войти. - Невалидный пароль → `400` Problem Details, code `VALIDATION_ERROR`, указатель на поле. - Решение owner и допущения (пробел разрешён, login мягкий) зафиксированы в WealthLedger/backend#60. ## Acceptance Criteria - [ ] Requirement «Регистрация пользователя» описывает 8–72 печатных ASCII без требований к составу и без изменения пароля. - [ ] Requirement «Вход пользователя» описывает мягкую проверку (максимум 72 байта) и вход с прежним паролем. - [ ] Есть сценарии: граничные длины, не-ASCII/управляющие символы отвергаются на register, прежний не-ASCII пароль принимается на login. - [ ] `npm run verify` и OpenSpec validation пройдены. ## Окружение / ссылки (если применимо) Refs WealthLedger/backend#60. Парная правка docs — отдельная Issue в WealthLedger/docs.
Author
Owner

Решено в specs#47 (влит в develop).

Решено в specs#47 (влит в `develop`).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: WealthLedger/specs#46