Files
pad/docs
xarmian 241dd316f9 fix(auth): a social sign-in without a provider subject is refused on an account with one bound (BUG-3671) [deploy BEFORE pad-cloud #80] (#2144)
* fix(auth): a social sign-in without a provider subject is refused on an account with one bound (BUG-3671)

TASK-3351 binds a provider subject on the first subject-bearing sign-in
of a linked provider and refuses a different one, but a sign-in carrying
NO subject still reached the account on its email alone. Once a subject
is bound for that provider, that is refused too (oauth_subject_mismatch,
with TASK-3351's recovery route). A caller that never sends subjects
binds none and keeps the email path, so this is inert until pad-cloud
sends subjects (deploy this server first, then pad-cloud).

Claude-Session: https://claude.ai/code/session_01Q9WssCjFuHjSfLABoW4tmS

* docs(api): oauth-login/link subjects and the BUG-3671 refusal

Claude-Session: https://claude.ai/code/session_01Q9WssCjFuHjSfLABoW4tmS

* test(auth): a subject-less sign-in to a bound TOTP account gets no challenge; a subject-less link keeps the bound subject (BUG-3671, Codex r1)

Claude-Session: https://claude.ai/code/session_01Q9WssCjFuHjSfLABoW4tmS
2026-10-14 02:02:41 -04:00
..