Skip to content
Snippets Groups Projects

fix(view): open new views as tabs + show Getting Started button by default

1 file
+ 8
8
Compare changes
  • Side-by-side
  • Inline
import * as https from 'https';
import * as https from 'https';
import fetch, { Response } from 'node-fetch';
import fetch, { Response } from 'node-fetch';
 
import { REJECT_UNAUTHORIZED } from '../config';
import { HttpStatusCode } from '../customTypings/HttpStatusCode';
import { HttpStatusCode } from '../customTypings/HttpStatusCode';
import { TokenFetchErrorCode } from '../customTypings/KeycloakAPITypes';
import { TokenFetchErrorCode } from '../customTypings/KeycloakAPITypes';
import { error as err, log } from '../recorder/utils';
import { error as err, log } from '../recorder/utils';
import { REJECT_UNAUTHORIZED } from '../config';
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = REJECT_UNAUTHORIZED ? '1' : '0'; // TODO: remove when SSL will work
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = REJECT_UNAUTHORIZED ? '1' : '0';
export default class KeycloakOAuth2DeviceFlowConnection {
export default class KeycloakOAuth2DeviceFlowConnection {
private waitDuration: WaitDuration;
private waitDuration: WaitDuration;
@@ -13,7 +13,7 @@ export default class KeycloakOAuth2DeviceFlowConnection {
@@ -13,7 +13,7 @@ export default class KeycloakOAuth2DeviceFlowConnection {
private refreshToken: string;
private refreshToken: string;
private deviceAuthorizationRequestResponseData: DeviceAuthorizationRequestResponseData;
private deviceAuthorizationRequestResponseData: DeviceAuthorizationRequestResponseData;
constructor(private deviceUrl: string, private tokenUrl: string, private userInfoUrl?: string) {
constructor(private deviceUrl: string, private tokenUrl: string, private userInfoUrl: string) {
this.waitDuration = new WaitDuration([5_000, 5_000, 5_000, 10_000, 10_000, 10_000, 30_000, 30_000, 100_000]);
this.waitDuration = new WaitDuration([5_000, 5_000, 5_000, 10_000, 10_000, 10_000, 30_000, 30_000, 100_000]);
this.accessToken = '';
this.accessToken = '';
this.refreshToken = '';
this.refreshToken = '';
@@ -40,7 +40,7 @@ export default class KeycloakOAuth2DeviceFlowConnection {
@@ -40,7 +40,7 @@ export default class KeycloakOAuth2DeviceFlowConnection {
Authorization: `Bearer ${accessToken}`,
Authorization: `Bearer ${accessToken}`,
},
},
body: '',
body: '',
agent: new https.Agent({ rejectUnauthorized: REJECT_UNAUTHORIZED }), // TODO: remove when SSL will work
agent: new https.Agent({ rejectUnauthorized: REJECT_UNAUTHORIZED }),
});
});
const tokenValidationRequestResponseCode = tokenValidationRequestResponse.status;
const tokenValidationRequestResponseCode = tokenValidationRequestResponse.status;
switch (tokenValidationRequestResponseCode) {
switch (tokenValidationRequestResponseCode) {
@@ -77,7 +77,7 @@ export default class KeycloakOAuth2DeviceFlowConnection {
@@ -77,7 +77,7 @@ export default class KeycloakOAuth2DeviceFlowConnection {
});
});
return Promise.resolve({ accessToken: this.accessToken, refreshToken: this.refreshToken });
return Promise.resolve({ accessToken: this.accessToken, refreshToken: this.refreshToken });
}
}
if (!this._deviceIsRegistered()) {
if (!this.deviceIsRegistered()) {
await this.registerDevice();
await this.registerDevice();
}
}
try {
try {
@@ -100,7 +100,7 @@ export default class KeycloakOAuth2DeviceFlowConnection {
@@ -100,7 +100,7 @@ export default class KeycloakOAuth2DeviceFlowConnection {
}
}
}
}
private _deviceIsRegistered(): boolean {
private deviceIsRegistered(): boolean {
return !!this.deviceAuthorizationRequestResponseData.device_code;
return !!this.deviceAuthorizationRequestResponseData.device_code;
}
}
@@ -127,7 +127,7 @@ export default class KeycloakOAuth2DeviceFlowConnection {
@@ -127,7 +127,7 @@ export default class KeycloakOAuth2DeviceFlowConnection {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Type': 'application/x-www-form-urlencoded',
},
},
body: body,
body: body,
agent: new https.Agent({ rejectUnauthorized: REJECT_UNAUTHORIZED }), // TODO: remove when SSL will work
agent: new https.Agent({ rejectUnauthorized: REJECT_UNAUTHORIZED }),
});
});
}
}
@@ -147,7 +147,7 @@ export default class KeycloakOAuth2DeviceFlowConnection {
@@ -147,7 +147,7 @@ export default class KeycloakOAuth2DeviceFlowConnection {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Type': 'application/x-www-form-urlencoded',
},
},
body: body,
body: body,
agent: new https.Agent({ rejectUnauthorized: REJECT_UNAUTHORIZED }), // TODO: remove when SSL will work
agent: new https.Agent({ rejectUnauthorized: REJECT_UNAUTHORIZED }),
});
});
userAuthenticationRequestResponseCode = userAuthenticationRequestResponse.status;
userAuthenticationRequestResponseCode = userAuthenticationRequestResponse.status;
switch (userAuthenticationRequestResponseCode) {
switch (userAuthenticationRequestResponseCode) {
Loading