Skip to content

feat(T-AUTH-1): disable_password_auth config knob (additive)#22

Merged
intel352 merged 1 commit into
mainfrom
feat/disable-password-config-1779247190
May 20, 2026
Merged

feat(T-AUTH-1): disable_password_auth config knob (additive)#22
intel352 merged 1 commit into
mainfrom
feat/disable-password-config-1779247190

Conversation

@intel352
Copy link
Copy Markdown
Contributor

Per gocodealone-multisite SPEC.md V17 / T-AUTH-1 (scope-corrected: additive not destructive).

Adds disable_password_auth: true to auth.credential module config. When set on any registered module, step.auth_password_hash + step.auth_password_verify short-circuit with disabled=true. Default false → backwards-compatible.

5 new tests pass. Closes part of #21.

Per gocodealone-multisite SPEC.md C13/V17/T-AUTH-1.

Hosts that want passwordless-only posture set:

  modules:
    - name: auth
      type: auth.credential
      config:
        disable_password_auth: true

When set on ANY registered credential module, the two password steps
(step.auth_password_hash + step.auth_password_verify) short-circuit
with {"error": "auth: password authentication disabled by host config",
"disabled": true} instead of hashing/verifying.

Backwards-compatible:
- Default false → existing behaviour unchanged.
- bcrypt + password code paths preserved; only gated.
- All 13 existing password tests continue passing.

Multi-host caveat: if multiple credentialModules share a process, ANY
one with disable=true gates passwords for the whole process. Mixed
posture requires separate plugin processes.

5 new tests cover: disable short-circuits both steps, default
remains enabled, config parse for bool/string variants, ANY-module
flag semantics.

Closes T-AUTH-1 (additive variant per scope correction). Companion
work T-AUTH-2 through T-AUTH-11 tracked at #21.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@intel352 intel352 merged commit 64511f5 into main May 20, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant