mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-03 09:35:40 -05:00
Resolves cannot read property 'accessToken' of undefined error while connecting to a cloud DB (#19192)
* Resolves cannot read property 'accessToken' of undefined. * Checks for and specifies undefined as refreshToken return type * Adds documentation and checks for undefined results from refreshToken
This commit is contained in:
@@ -199,8 +199,10 @@ export abstract class AzureAuth implements vscode.Disposable {
|
||||
|
||||
if (remainingTime < maxTolerance) {
|
||||
const result = await this.refreshToken(tenant, resource, cachedTokens.refreshToken);
|
||||
accessToken = result.accessToken;
|
||||
expiresOn = Number(result.expiresOn);
|
||||
if (result) {
|
||||
accessToken = result.accessToken;
|
||||
expiresOn = Number(result.expiresOn);
|
||||
}
|
||||
}
|
||||
// Let's just return here.
|
||||
if (accessToken) {
|
||||
@@ -223,7 +225,7 @@ export abstract class AzureAuth implements vscode.Disposable {
|
||||
}
|
||||
// Let's try to convert the access token type, worst case we'll have to prompt the user to do an interactive authentication.
|
||||
const result = await this.refreshToken(tenant, resource, baseTokens.refreshToken);
|
||||
if (result.accessToken) {
|
||||
if (result?.accessToken) {
|
||||
return {
|
||||
...result.accessToken,
|
||||
expiresOn: Number(result.expiresOn),
|
||||
@@ -242,8 +244,10 @@ export abstract class AzureAuth implements vscode.Disposable {
|
||||
* @param tenant
|
||||
* @param resource
|
||||
* @param refreshToken
|
||||
* @returns The oauth token response or undefined. Undefined is returned when the user wants to ignore a tenant or chooses not to start the
|
||||
* re-authentication process for their tenant.
|
||||
*/
|
||||
public async refreshToken(tenant: Tenant, resource: Resource, refreshToken: RefreshToken | undefined): Promise<OAuthTokenResponse> {
|
||||
public async refreshToken(tenant: Tenant, resource: Resource, refreshToken: RefreshToken | undefined): Promise<OAuthTokenResponse> | undefined {
|
||||
Logger.pii('Refreshing token', [{ name: 'token', objOrArray: refreshToken }], []);
|
||||
if (refreshToken) {
|
||||
const postData: RefreshTokenPostData = {
|
||||
|
||||
Reference in New Issue
Block a user