@@ -31,11 +31,13 @@ import {
31
31
32
32
let dom = {
33
33
mainBearerSection : null ,
34
+ oidcBearer : null ,
34
35
bearer : null ,
35
36
mainBasicSection : null ,
36
37
userName : null ,
37
38
password : null ,
38
39
devOpsBearerSection : null ,
40
+ oidcBearerDevOps : null ,
39
41
bearerDevOps : null ,
40
42
devOpsBasicSection : null ,
41
43
devOpsUserName : null ,
@@ -67,6 +69,52 @@ export function setForDevops(forDevops: boolean) {
67
69
API . setAuthHeader ( _forDevops ) ;
68
70
}
69
71
72
+ export function mainUsernamePassword ( ) : string {
73
+ return dom . userName . value + ':' + dom . password . value ;
74
+ }
75
+
76
+ export function mainBearerToken ( ) : string {
77
+ return dom . bearer . value ;
78
+ }
79
+
80
+ export function mainOidcBearerToken ( ) : string {
81
+ return dom . oidcBearer . value ;
82
+ }
83
+
84
+ export function devopsUsernamePassword ( ) : string {
85
+ return dom . devOpsUserName . value + ':' + dom . devOpsPassword . value ;
86
+ }
87
+
88
+ export function devopsBearerToken ( ) : string {
89
+ return dom . bearerDevOps . value ;
90
+ }
91
+
92
+ export function devopsOidcBearerToken ( ) : string {
93
+ return dom . oidcBearerDevOps . value ;
94
+ }
95
+
96
+ export function fillMainUsernamePassword ( usernamePassword : string ) {
97
+ if ( usernamePassword && usernamePassword . length > 0 ) {
98
+ dom . userName . value = usernamePassword . split ( ':' ) [ 0 ] ;
99
+ dom . password . value = usernamePassword . split ( ':' ) [ 1 ] ;
100
+ }
101
+ }
102
+
103
+ export function fillDevopsUsernamePassword ( usernamePassword : string ) {
104
+ if ( usernamePassword && usernamePassword . length > 0 ) {
105
+ dom . devOpsUserName . value = usernamePassword . split ( ':' ) [ 0 ] ;
106
+ dom . devOpsPassword . value = usernamePassword . split ( ':' ) [ 1 ] ;
107
+ }
108
+ }
109
+
110
+ function fillMainOidcBearerToken ( oidcToken : string ) {
111
+ dom . oidcBearer . value = oidcToken ;
112
+ }
113
+
114
+ function fillDevopsOidcBearerToken ( oidcToken : string ) {
115
+ dom . oidcBearerDevOps . value = oidcToken ;
116
+ }
117
+
70
118
export function ready ( ) {
71
119
Utils . getAllElementsById ( dom ) ;
72
120
@@ -111,10 +159,6 @@ export function ready() {
111
159
let environment = Environments . current ( ) ;
112
160
environment . authSettings . main . method = AuthMethod [ mainAuthMethod as keyof typeof AuthMethod ] ;
113
161
environment . authSettings . devops . method = AuthMethod [ devopsAuthMethod as keyof typeof AuthMethod ] ;
114
- environment . authSettings . main . basic . usernamePassword = dom . userName . value + ':' + dom . password . value ;
115
- environment . authSettings . devops . basic . usernamePassword = dom . devOpsUserName . value + ':' + dom . devOpsPassword . value ;
116
- environment . authSettings . main . bearer . bearerToken = dom . bearer . value ;
117
- environment . authSettings . devops . bearer . bearerToken = dom . bearerDevOps . value ;
118
162
environment . authSettings . main . pre . dittoPreAuthenticatedUsername = dom . dittoPreAuthenticatedUsername . value ;
119
163
environment . authSettings . main . oidc . defaultProvider = dom . oidcProvider . value ;
120
164
environment . authSettings . devops . oidc . defaultProvider = dom . devOpsOidcProvider . value ;
@@ -181,12 +225,12 @@ async function handleSingleSignOnCallback(urlSearchParams: URLSearchParams) {
181
225
if ( user ) {
182
226
let oidcState = user . state as OidcState
183
227
if ( oidcState . mainAuth ) {
184
- environment . authSettings . main . method = AuthMethod . oidc
185
- environment . authSettings . main . oidc . bearerToken = user [ oidcProvider . extractBearerTokenFrom ]
228
+ environment . authSettings . main . method = AuthMethod . oidc ;
229
+ fillMainOidcBearerToken ( user [ oidcProvider . extractBearerTokenFrom ] ) ;
186
230
}
187
231
if ( oidcState . devopsAuth ) {
188
- environment . authSettings . devops . method = AuthMethod . oidc
189
- environment . authSettings . devops . oidc . bearerToken = user [ oidcProvider . extractBearerTokenFrom ]
232
+ environment . authSettings . devops . method = AuthMethod . oidc ;
233
+ fillDevopsOidcBearerToken ( user [ oidcProvider . extractBearerTokenFrom ] ) ;
190
234
}
191
235
window . history . replaceState ( null , null , `${ settings . redirect_uri } ?${ atob ( user . url_state ) } ` )
192
236
await Environments . environmentsJsonChanged ( false )
@@ -220,10 +264,10 @@ async function performSingleSignOn(forMainAuth: boolean): Promise<boolean> {
220
264
if ( user ?. [ oidcProvider . extractBearerTokenFrom ] !== undefined || user ?. expired === true ) {
221
265
// a user is still logged in via a valid token stored in the browser's session storage
222
266
if ( sameProviderForMainAndDevops ) {
223
- environment . authSettings . main . oidc . bearerToken = user [ oidcProvider . extractBearerTokenFrom ]
224
- environment . authSettings . devops . oidc . bearerToken = user [ oidcProvider . extractBearerTokenFrom ]
267
+ fillMainOidcBearerToken ( user [ oidcProvider . extractBearerTokenFrom ] ) ;
268
+ fillDevopsOidcBearerToken ( user [ oidcProvider . extractBearerTokenFrom ] ) ;
225
269
} else {
226
- oidc . bearerToken = user [ oidcProvider . extractBearerTokenFrom ]
270
+ fillMainOidcBearerToken ( user [ oidcProvider . extractBearerTokenFrom ] ) ;
227
271
}
228
272
return true
229
273
} else {
@@ -268,7 +312,7 @@ async function performSingleSignOut(oidc: OidcAuthSettings) {
268
312
} catch ( e ) {
269
313
showError ( e )
270
314
} finally {
271
- oidc . bearerToken = undefined
315
+ fillMainOidcBearerToken ( undefined ) ;
272
316
Environments . saveEnvironmentsToLocalStorage ( ) ;
273
317
}
274
318
}
@@ -284,16 +328,6 @@ function dynamicallyShowOrHideSection(sectionEnabled: boolean, section: HTMLElem
284
328
285
329
export async function onEnvironmentChanged ( initialPageLoad : boolean ) {
286
330
let environment = Environments . current ( ) ;
287
- let usernamePassword = environment . authSettings ?. main ?. basic ?. usernamePassword ?
288
- environment . authSettings ?. main ?. basic ?. usernamePassword : ':' ;
289
- dom . userName . value = usernamePassword . split ( ':' ) [ 0 ] ;
290
- dom . password . value = usernamePassword . split ( ':' ) [ 1 ] ;
291
- usernamePassword = environment . authSettings ?. devops ?. basic ?. usernamePassword ?
292
- environment . authSettings ?. devops ?. basic ?. usernamePassword : ':' ;
293
- dom . devOpsUserName . value = usernamePassword . split ( ':' ) [ 0 ] ;
294
- dom . devOpsPassword . value = usernamePassword . split ( ':' ) [ 1 ] ;
295
- dom . bearer . value = environment . authSettings ?. main ?. bearer ?. bearerToken ? environment . authSettings ?. main ?. bearer ?. bearerToken : '' ;
296
- dom . bearerDevOps . value = environment . authSettings ?. devops ?. bearer ?. bearerToken ? environment . authSettings ?. devops ?. bearer ?. bearerToken : '' ;
297
331
dom . dittoPreAuthenticatedUsername . value = environment . authSettings ?. main ?. pre ?. dittoPreAuthenticatedUsername ?
298
332
environment . authSettings ?. main ?. pre ?. dittoPreAuthenticatedUsername : '' ;
299
333
if ( environment . authSettings ?. oidc ?. providers ) {
0 commit comments