-
Notifications
You must be signed in to change notification settings - Fork 214
/
authorization.js
104 lines (93 loc) · 4.07 KB
/
authorization.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
/*
* Copyright (c) 2022 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
import * as API from '../api.js';
import * as Utils from '../utils.js';
/* eslint-disable prefer-const */
/* eslint-disable require-jsdoc */
import * as Environments from './environments.js';
let dom = {
bearer: null,
userName: null,
password: null,
bearerDevOps: null,
devOpsUserName: null,
devOpsPassword: null,
dittoPreAuthenticatedUsername: null,
collapseConnections: null,
};
let _forDevops = false;
export function setForDevops(forDevops) {
_forDevops = forDevops;
API.setAuthHeader(_forDevops);
}
export function ready() {
Utils.getAllElementsById(dom);
document.getElementById('authorize').onclick = () => {
let mainAuth = Environments.current().mainAuth;
let devopsAuth = Environments.current().devopsAuth;
if (!mainAuth) {
if (dom.dittoPreAuthenticatedUsername.value && dom.dittoPreAuthenticatedUsername.value.length > 0) {
mainAuth = 'pre';
} else if (dom.bearer.value && dom.bearer.value.length > 0) {
mainAuth = 'bearer';
} else if (dom.userName.value && dom.userName.value.length > 0) {
mainAuth = 'basic';
}
}
if (!devopsAuth) {
if (dom.bearerDevOps.value && dom.bearerDevOps.value.length > 0) {
devopsAuth = 'bearer';
} else if (dom.devOpsUserName.value && dom.devOpsUserName.value.length > 0) {
devopsAuth = 'basic';
}
}
const mainAuths = document.querySelectorAll('input[name="main-auth"]');
for (let i = 0; i < mainAuths.length; i++) {
mainAuths[i].checked = mainAuths[i].value === mainAuth;
}
const devopsAuths = document.querySelectorAll('input[name="devops-auth"]');
for (let i = 0; i < devopsAuths.length; i++) {
devopsAuths[i].checked = devopsAuths[i].value === devopsAuth;
}
};
document.getElementById('authorizeSubmit').onclick = () => {
const mainAuthSelector = document.querySelector('input[name="main-auth"]:checked');
const mainAuth = mainAuthSelector ? mainAuthSelector.value : undefined;
const devopsAuthSelector = document.querySelector('input[name="devops-auth"]:checked');
const devopsAuth = devopsAuthSelector ? devopsAuthSelector.value : undefined;
Environments.current().mainAuth = mainAuth;
Environments.current().devopsAuth = devopsAuth;
Environments.current().usernamePassword = dom.userName.value + ':' + dom.password.value;
Environments.current().usernamePasswordDevOps = dom.devOpsUserName.value + ':' + dom.devOpsPassword.value;
Environments.current().bearer = dom.bearer.value;
Environments.current().bearerDevOps = dom.bearerDevOps.value;
Environments.current().dittoPreAuthenticatedUsername = dom.dittoPreAuthenticatedUsername.value;
Environments.environmentsJsonChanged();
};
}
export function onEnvironmentChanged() {
let usernamePassword = Environments.current().usernamePassword ? Environments.current().usernamePassword : ':';
dom.userName.value = usernamePassword.split(':')[0];
dom.password.value = usernamePassword.split(':')[1];
usernamePassword = Environments.current().usernamePasswordDevOps ?
Environments.current().usernamePasswordDevOps :
':';
dom.devOpsUserName.value = usernamePassword.split(':')[0];
dom.devOpsPassword.value = usernamePassword.split(':')[1];
dom.bearer.value = Environments.current().bearer ? Environments.current().bearer : '';
dom.bearerDevOps.value = Environments.current().bearerDevOps ? Environments.current().bearerDevOps : '';
dom.dittoPreAuthenticatedUsername.value = Environments.current().dittoPreAuthenticatedUsername ?
Environments.current().dittoPreAuthenticatedUsername :
'';
API.setAuthHeader(_forDevops);
}