Add AAD token expiration handling for query runner (#17117)

* Add AAD token refresh for notebook

* move token refresh to query management and remove previous refresh calls
This commit is contained in:
Hai Cao
2021-09-21 18:57:54 -07:00
committed by GitHub
parent 3ed611db66
commit 0e4c67dc0c
2 changed files with 3 additions and 4 deletions

View File

@@ -233,7 +233,6 @@ export class RunQueryAction extends QueryTaskbarAction {
editor = this.editor;
}
await this.connectionManagementService.refreshAzureAccountTokenIfNecessary(this.editor.input.uri);
if (this.isConnected(editor)) {
// Hide IntelliSense suggestions list when running query to match SSMS behavior
this.commandService?.executeCommand('hideSuggestWidget');
@@ -306,7 +305,6 @@ export class EstimatedQueryPlanAction extends QueryTaskbarAction {
public override async run(): Promise<void> {
if (!this.editor.isSelectionEmpty()) {
await this.connectionManagementService.refreshAzureAccountTokenIfNecessary(this.editor.input.uri);
if (this.isConnected(this.editor)) {
// If we are already connected, run the query
this.runQuery(this.editor);
@@ -346,7 +344,6 @@ export class ActualQueryPlanAction extends QueryTaskbarAction {
public override async run(): Promise<void> {
if (!this.editor.isSelectionEmpty()) {
await this.connectionManagementService.refreshAzureAccountTokenIfNecessary(this.editor.input.uri);
if (this.isConnected(this.editor)) {
// If we are already connected, run the query
this.runQuery(this.editor);

View File

@@ -212,7 +212,9 @@ export class QueryManagementService implements IQueryManagementService {
}
let handler = this._requestHandlers.get(providerId);
if (handler) {
return action(handler);
return this._connectionService.refreshAzureAccountTokenIfNecessary(uri).then(() => {
return action(handler);
});
} else {
return Promise.reject(new Error('No Handler Registered'));
}