Conversation
Add a supports_integrated_auth driver capability and an integrated_auth connection field, threaded from the connection modal through to plugins. When set, the modal shows a "Use Windows Authentication" checkbox (SQL Server today) that hides and clears username/password instead of asking the user to hand-write a connection string. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Thanks a lot for this, and for testing it against a real domain-joined SQL Server. I made some changes to keep the core footprint as small as possible: the host side is now a generic hook on the Tomorrow I will look at how to integrate that with the work you did here and in TabularisDB/tabularis-sqlserver-plugin#25, so nothing of your testing gets lost. I will keep you posted. |
|
Closing this in favour of #780, which supersedes it. Thanks again @egertaia for the work here and for the end-to-end test against a real domain-joined SQL Server. To recap why #780 replaces this PR rather than building on top of it: the goal is the same (a "Use Windows Authentication" checkbox that hides the login inputs), but the core change is now driver-agnostic. Instead of a The modal behaviour in #780 (hide and clear username/password, restore them on toggle, reset on driver change) and its tests follow what you designed and verified here, so you are listed as co-author on the #780 commit. The plugin side builds on TabularisDB/tabularis-sqlserver-plugin#25 and will be opened there as a follow-up, again with your work credited. If you have a chance, it would be great if you could test the #780 branch together with the updated plugin on your domain-joined Windows machine, since that is the one scenario I cannot reproduce locally. Once it is confirmed it will land in the next nightly / release. |
Summary
supports_integrated_authtoDriverCapabilities(Rust + TS) andintegrated_authtoConnectionParams(Rust + both TSConnectionParamsshapes — the shared one insrc/utils/connections.tsand the modal's own local one), forwarded verbatim to plugins over the existing JSON-RPCparamspayload.NewConnectionModal, shown only when the active driver declaressupports_integrated_auth. Checking it hides and clears the username/password fields instead of asking the user to hand-write a connection string for something the UI could just ask for directly.false, sinceDriverCapabilitiesis a plain struct literal at each of those call sites.Companion plugin-side PR (SQL Server is the first driver to opt in): TabularisDB/tabularis-sqlserver-plugin#25
Test plan
npm run typecheck— cleannpx vitest run tests/components/modals/NewConnectionModal.test.tsx— 32/32 passing, including 3 new tests for the checkbox (shows only forsupports_integrated_auth, hides/restores username+password on toggle)pnpm tauri dev) against a real domain-joined SQL Server: checked the box, connected via SSPI with no username/password, same as SSMS