in src/login/AzureLoginHelper.ts [61:93]
constructor(public context: ExtensionContext) {
this.adalAuthProvider = new AdalAuthProvider(enableVerboseLogs);
this.msalAuthProvider = new MsalAuthProvider(enableVerboseLogs);
this.authProvider = getAuthLibrary() === 'ADAL' ? this.adalAuthProvider : this.msalAuthProvider;
this.api = new AzureAccountExtensionApi(this);
this.legacyApi = new AzureAccountExtensionLegacyApi(this.api);
context.subscriptions.push(commands.registerCommand('azure-account.login', () => this.login('login').catch(logErrorMessage)));
context.subscriptions.push(commands.registerCommand('azure-account.loginWithDeviceCode', () => this.login('loginWithDeviceCode').catch(logErrorMessage)));
context.subscriptions.push(commands.registerCommand('azure-account.logout', () => this.logout().catch(logErrorMessage)));
context.subscriptions.push(workspace.onDidChangeConfiguration(async e => {
if (e.affectsConfiguration(getSettingWithPrefix(cloudSetting)) || e.affectsConfiguration(getSettingWithPrefix(tenantSetting)) || e.affectsConfiguration(getSettingWithPrefix(customCloudArmUrlSetting))) {
const doLogin: boolean = this.doLogin;
this.doLogin = false;
this.initialize(e.affectsConfiguration(getSettingWithPrefix(cloudSetting)) ? 'cloudChange' : e.affectsConfiguration(getSettingWithPrefix(tenantSetting)) ? 'tenantChange' : 'customCloudARMUrlChange', doLogin)
.catch(logErrorMessage);
} else if (e.affectsConfiguration(getSettingWithPrefix(resourceFilterSetting))) {
updateFilters(true);
} else if (e.affectsConfiguration(getSettingWithPrefix(authLibrarySetting))) {
const mustSignOutAndReload: string = localize('azure-account.mustSignOutAndReload', 'You must sign out and reload the window to authenticate with "{0}"', getAuthLibrary());
const signOutAndReload: string = localize('azure-account.signOutAndReload', 'Sign Out and Reload Window');
void window.showInformationMessage(mustSignOutAndReload, signOutAndReload).then(async value => {
if (value === signOutAndReload) {
await this.logout();
await commands.executeCommand('workbench.action.reloadWindow');
}
});
}
}));
this.initialize('activation', false, true)
.catch(logErrorMessage);
}