diff --git a/extensions/azurecore/src/account-provider/media/landing.css b/extensions/azurecore/media/landing.css similarity index 100% rename from extensions/azurecore/src/account-provider/media/landing.css rename to extensions/azurecore/media/landing.css diff --git a/extensions/azurecore/src/account-provider/media/landing.html b/extensions/azurecore/media/landing.html similarity index 100% rename from extensions/azurecore/src/account-provider/media/landing.html rename to extensions/azurecore/media/landing.html diff --git a/extensions/azurecore/src/account-provider/azureAccountProvider2.ts b/extensions/azurecore/src/account-provider/azureAccountProvider2.ts index 6081ebc879..6fd1ff3fc0 100644 --- a/extensions/azurecore/src/account-provider/azureAccountProvider2.ts +++ b/extensions/azurecore/src/account-provider/azureAccountProvider2.ts @@ -41,7 +41,7 @@ export class AzureAccountProvider implements azdata.AccountProvider { private isInitialized: boolean = false; - constructor(private metadata: AzureAccountProviderMetadata, private _tokenCache: TokenCache) { + constructor(private metadata: AzureAccountProviderMetadata, private _tokenCache: TokenCache, private _context: vscode.ExtensionContext) { this.commonAuthorityUrl = url.resolve(this.metadata.settings.host, AzureAccountProvider.AadCommonTenant); } @@ -189,6 +189,8 @@ export class AzureAccountProvider implements azdata.AccountProvider { nonce: string, authUrl: string) { + const mediaPath = path.join(this._context.extensionPath, 'media'); + // Utility function const sendFile = async (res: http.ServerResponse, filePath: string, contentType: string): Promise => { let fileContents; @@ -240,12 +242,13 @@ export class AzureAccountProvider implements azdata.AccountProvider { return; } - sendFile(res, path.join(__dirname, 'media/landing.html'), 'text/html; charset=utf-8').catch(console.error); + + sendFile(res, path.join(mediaPath, 'landing.html'), 'text/html; charset=utf-8').catch(console.error); this.handleAuthentication(code).catch((e) => console.error(e)); }; const css = (req: http.IncomingMessage, res: http.ServerResponse, reqUrl: url.UrlWithParsedQuery) => { - sendFile(res, path.join(__dirname, 'media/landing.css'), 'text/css; charset=utf-8').catch(console.error); + sendFile(res, path.join(mediaPath, 'landing.css'), 'text/css; charset=utf-8').catch(console.error); }; pathMappings.set('/signin', initialSignIn); diff --git a/extensions/azurecore/src/account-provider/azureAccountProviderService.ts b/extensions/azurecore/src/account-provider/azureAccountProviderService.ts index 22c69a5cda..4b124a9e44 100644 --- a/extensions/azurecore/src/account-provider/azureAccountProviderService.ts +++ b/extensions/azurecore/src/account-provider/azureAccountProviderService.ts @@ -138,7 +138,7 @@ export class AzureAccountProviderService implements vscode.Disposable { let tokenCacheKey = `azureTokenCache-${provider.metadata.id}`; let tokenCachePath = path.join(this._userStoragePath, tokenCacheKey); let tokenCache = new CredentialServiceTokenCache(self._credentialProvider, tokenCacheKey, tokenCachePath); - let accountProvider = new AzureAccountProvider(provider.metadata as AzureAccountProviderMetadata, tokenCache); + let accountProvider = new AzureAccountProvider(provider.metadata as AzureAccountProviderMetadata, tokenCache, this._context); self._accountProviders[provider.metadata.id] = accountProvider; self._accountDisposals[provider.metadata.id] = azdata.accounts.registerAccountProvider(provider.metadata, accountProvider); resolve();