auth: align OAuth client-id storage with the forge-wide credential model (ADR 0025 follow-up) #40
Labels
No labels
breaking
bug
documentation
enhancement
epic
good first issue
help wanted
refactoring
resolution/duplicate
resolution/invalid
resolution/wontfix
security
severity/critical
severity/high
severity/low
severity/medium
status/abandoned
status/blocked
status/needs-decision
status/needs-info
status/needs-verification
testing
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sixfold-space/madtea#40
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Follow-up from the ADR 0025 review (epic #30; out of scope for that pass):
persistOAuthClientID(id, setupGlobal)(internal/cmd/setup/web.go:126) still keys its storage scope off the--globalflag, which ADR 0025 deprecated for login (a login is forge-wide). Two facts to respect from the review:MarkDeprecateddoes not disable the flag — a user passing--globalstill setssetupGlobal=true(with a notice), so the old scope opt-in technically still works.madtea.oauth-client-id(web.go:31), NOT host-suffixed — blindly forcing it global would collide across forges under the one-account-per-forge model.Decide and implement the ADR-0025-consistent shape: likely a per-host key (
madtea.oauth-client-id-<sanitized-host>, matching themadtea.token-enc-<sanitized-host>convention) written forge-wide, with a legacy read of the bare key. Include the migration story for existing bare-key installs.Acceptance:
--globalscope.