refactor getCallbackEnvironment to return authority by default

This commit is contained in:
Tyler Leonhardt 2021-05-26 11:54:15 -07:00
parent d777991656
commit f1a5d40aa7
No known key found for this signature in database
GPG key ID: 1BC2B6244363E77E

View file

@ -396,19 +396,19 @@ export class AzureActiveDirectoryService {
} }
private getCallbackEnvironment(callbackUri: vscode.Uri): string { private getCallbackEnvironment(callbackUri: vscode.Uri): string {
if (callbackUri.authority.endsWith('.workspaces.github.com') || callbackUri.authority.endsWith('.github.dev')) { if (callbackUri.scheme !== 'https' && callbackUri.scheme !== 'http') {
return `${callbackUri.authority},`; return callbackUri.scheme;
} }
switch (callbackUri.authority) { switch (callbackUri.authority) {
case 'online.visualstudio.com': case 'online.visualstudio.com':
return 'vso,'; return 'vso';
case 'online-ppe.core.vsengsaas.visualstudio.com': case 'online-ppe.core.vsengsaas.visualstudio.com':
return 'vsoppe,'; return 'vsoppe';
case 'online.dev.core.vsengsaas.visualstudio.com': case 'online.dev.core.vsengsaas.visualstudio.com':
return 'vsodev,'; return 'vsodev';
default: default:
return `${callbackUri.scheme},`; return callbackUri.authority;
} }
} }
@ -417,7 +417,7 @@ export class AzureActiveDirectoryService {
const nonce = randomBytes(16).toString('base64'); const nonce = randomBytes(16).toString('base64');
const port = (callbackUri.authority.match(/:([0-9]*)$/) || [])[1] || (callbackUri.scheme === 'https' ? 443 : 80); const port = (callbackUri.authority.match(/:([0-9]*)$/) || [])[1] || (callbackUri.scheme === 'https' ? 443 : 80);
const callbackEnvironment = this.getCallbackEnvironment(callbackUri); const callbackEnvironment = this.getCallbackEnvironment(callbackUri);
const state = `${callbackEnvironment}${port},${encodeURIComponent(nonce)},${encodeURIComponent(callbackUri.query)}`; const state = `${callbackEnvironment},${port},${encodeURIComponent(nonce)},${encodeURIComponent(callbackUri.query)}`;
const signInUrl = `${loginEndpointUrl}${tenant}/oauth2/v2.0/authorize`; const signInUrl = `${loginEndpointUrl}${tenant}/oauth2/v2.0/authorize`;
let uri = vscode.Uri.parse(signInUrl); let uri = vscode.Uri.parse(signInUrl);
const codeVerifier = toBase64UrlEncoding(randomBytes(32).toString('base64')); const codeVerifier = toBase64UrlEncoding(randomBytes(32).toString('base64'));