Skip to content

Promote interactive browser login to the default for auth login#61

Merged
weppos merged 3 commits into
mainfrom
kind-bhabha-eec8c0
Jun 13, 2026
Merged

Promote interactive browser login to the default for auth login#61
weppos merged 3 commits into
mainfrom
kind-bhabha-eec8c0

Conversation

@weppos

@weppos weppos commented Jun 13, 2026

Copy link
Copy Markdown
Member

Browser-based OAuth login was dark-launched in 0.9.1, gated behind the --web flag and the oauth_login config setting. Now that the flow has shipped and proven out, this promotes it to the default so authenticating no longer requires a flag.

🔍 QA

Scenario: Default browser login

  • Run dnsimple auth login in a terminal. Confirm it opens the DNSimple authorization page in the browser and completes the login automatically once approved, with no flag and no token to paste.

Scenario: Token login still available

  • Run dnsimple auth login --with-token in a terminal. Confirm it prompts to paste an API token (masked) and stores a context without launching the browser.
  • Run echo "$TOKEN" | dnsimple auth login --with-token. Confirm it reads the token from stdin.
  • Run echo "$TOKEN" | dnsimple auth login (no flag, non-interactive stdin). Confirm it still reads the token from stdin.

Scenario: Deprecated --web

  • Run dnsimple auth login --web. Confirm it prints Flag --web has been deprecated, browser login is now the default; the flag is no longer needed and then proceeds with the default browser flow.
  • Run dnsimple auth login --help. Confirm --with-token is listed and --web is hidden.

📋 Deployment Pre/Post tasks

N/A

:shipit: Deployment Verification

N/A

Browser-based OAuth login was dark-launched in 0.9.1 behind `--web` and the
`oauth_login` config gate. Now that the flow has shipped, make it the default
on a terminal so authenticating no longer requires a flag.

- `auth login` runs the OAuth browser flow by default on a TTY.
- `--with-token` selects API-token auth (masked prompt on a TTY, reads stdin
  when piped or non-interactive).
- `--web` is kept as a deprecated no-op for backward compatibility.
- Remove the `oauth_login` config setting and `DNSIMPLE_OAUTH_LOGIN` env gate
  that guarded the dark launch.
@weppos weppos self-assigned this Jun 13, 2026
@weppos weppos added the enhancement New feature or request label Jun 13, 2026
weppos added 2 commits June 13, 2026 12:10
Keep `--web` as a plainly accepted flag rather than a deprecated one: browser
login is the default, so the flag has no effect, but it no longer emits a
deprecation warning and stays visible in help. Remove the README authentication
note that described the flow, and adjust the changelog wording accordingly.
Browser login is the default, so the inert --web flag served no purpose.
Drop the flag and its variable; `dnsimple auth login --web` now errors as an
unknown flag. Update the changelog to note the removal.
@weppos weppos merged commit 2345fda into main Jun 13, 2026
8 checks passed
@weppos weppos deleted the kind-bhabha-eec8c0 branch June 13, 2026 15:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant