Commit f436d6f
committed
feat(kernel): route OAuth by secret (Thrift parity) + support custom U2M client id
Switch the kernel auth flow selector to key off the SECRET, matching the Thrift
driver (DBSQLClient.createAuthProvider): a usable oauthClientSecret => M2M,
otherwise => U2M. Previously the kernel keyed off oauthClientId *presence*, which
diverged from Thrift and rejected `id + no secret` rather than running U2M.
Consequences:
- `oauthClientId + no secret` now runs U2M (browser), like Thrift — instead of
an M2M "secret required" error.
- A non-blank oauthClientId on U2M is now forwarded as a *custom U2M client*
(parity with Thrift, which passes options.oauthClientId to its U2M flow); a
blank/reserved id is treated as absent and the napi default
(databricks-sql-connector) is used.
Blank/reserved literals (whitespace, "null", "undefined" — typical of an unset
env var) count as absent for routing. Trade-off vs the prior id-presence
routing: `id set + secret forgotten` now silently runs U2M (browser) rather than
a clear error — this matches Thrift's behaviour.
Updated the auth unit tests (u2m/m2m/edge-cases) that encoded the old
id-presence routing to the new secret-based semantics.
Co-authored-by: Isaac
Signed-off-by: Madhavendra Rathore <madhavendra.rathore@databricks.com>1 parent 5be4626 commit f436d6f
4 files changed
Lines changed: 69 additions & 119 deletions
File tree
- lib/kernel
- tests/unit/kernel
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
211 | 211 | | |
212 | 212 | | |
213 | 213 | | |
| 214 | + | |
214 | 215 | | |
215 | 216 | | |
216 | 217 | | |
| |||
596 | 597 | | |
597 | 598 | | |
598 | 599 | | |
599 | | - | |
600 | | - | |
601 | | - | |
602 | | - | |
603 | | - | |
604 | | - | |
605 | | - | |
606 | | - | |
607 | | - | |
608 | | - | |
609 | | - | |
610 | | - | |
611 | | - | |
612 | | - | |
613 | | - | |
614 | | - | |
615 | | - | |
616 | | - | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
617 | 608 | | |
618 | 609 | | |
619 | 610 | | |
| 611 | + | |
| 612 | + | |
620 | 613 | | |
621 | | - | |
622 | | - | |
623 | | - | |
624 | | - | |
625 | | - | |
626 | | - | |
627 | | - | |
628 | | - | |
629 | | - | |
630 | | - | |
631 | | - | |
632 | | - | |
| 614 | + | |
| 615 | + | |
633 | 616 | | |
634 | 617 | | |
635 | 618 | | |
| |||
640 | 623 | | |
641 | 624 | | |
642 | 625 | | |
643 | | - | |
| 626 | + | |
644 | 627 | | |
645 | | - | |
| 628 | + | |
646 | 629 | | |
647 | | - | |
648 | | - | |
649 | | - | |
| 630 | + | |
650 | 631 | | |
651 | 632 | | |
652 | 633 | | |
653 | 634 | | |
654 | 635 | | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
655 | 641 | | |
656 | 642 | | |
657 | | - | |
658 | | - | |
| 643 | + | |
| 644 | + | |
659 | 645 | | |
660 | 646 | | |
661 | 647 | | |
662 | 648 | | |
663 | | - | |
664 | | - | |
665 | | - | |
666 | | - | |
667 | | - | |
668 | 649 | | |
669 | 650 | | |
670 | 651 | | |
| |||
674 | 655 | | |
675 | 656 | | |
676 | 657 | | |
677 | | - | |
678 | | - | |
| 658 | + | |
| 659 | + | |
679 | 660 | | |
680 | 661 | | |
681 | 662 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
77 | 75 | | |
78 | 76 | | |
79 | 77 | | |
| |||
82 | 80 | | |
83 | 81 | | |
84 | 82 | | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
89 | 86 | | |
90 | 87 | | |
91 | 88 | | |
| |||
100 | 97 | | |
101 | 98 | | |
102 | 99 | | |
103 | | - | |
| 100 | + | |
104 | 101 | | |
105 | 102 | | |
106 | 103 | | |
| |||
109 | 106 | | |
110 | 107 | | |
111 | 108 | | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
116 | 112 | | |
117 | 113 | | |
118 | 114 | | |
| |||
127 | 123 | | |
128 | 124 | | |
129 | 125 | | |
130 | | - | |
| 126 | + | |
131 | 127 | | |
132 | 128 | | |
133 | 129 | | |
| |||
136 | 132 | | |
137 | 133 | | |
138 | 134 | | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
143 | 138 | | |
144 | 139 | | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | | - | |
156 | | - | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
157 | 143 | | |
158 | 144 | | |
159 | 145 | | |
| |||
162 | 148 | | |
163 | 149 | | |
164 | 150 | | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
169 | 154 | | |
170 | 155 | | |
171 | | - | |
172 | | - | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
179 | 160 | | |
180 | 161 | | |
181 | 162 | | |
182 | 163 | | |
183 | 164 | | |
184 | 165 | | |
185 | 166 | | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
190 | 170 | | |
191 | 171 | | |
192 | 172 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
104 | 104 | | |
105 | 105 | | |
106 | 106 | | |
107 | | - | |
| 107 | + | |
108 | 108 | | |
109 | 109 | | |
110 | 110 | | |
| |||
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
124 | 122 | | |
125 | 123 | | |
126 | 124 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
21 | 20 | | |
22 | 21 | | |
23 | 22 | | |
| |||
73 | 72 | | |
74 | 73 | | |
75 | 74 | | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
88 | 80 | | |
89 | 81 | | |
90 | 82 | | |
91 | 83 | | |
92 | 84 | | |
93 | 85 | | |
94 | 86 | | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
99 | 90 | | |
100 | 91 | | |
101 | 92 | | |
| |||
0 commit comments