Merge from vscode 2e5312cd61ff99c570299ecc122c52584265eda2

This commit is contained in:
ADS Merger
2020-04-23 02:50:35 +00:00
committed by Anthony Dresser
parent 3603f55d97
commit 7f1d8fc32f
659 changed files with 22709 additions and 12497 deletions

View File

@@ -25,7 +25,10 @@ interface IToken {
expiresAt?: number; // UNIX epoch time at which token will expire
refreshToken: string;
accountName: string;
account: {
displayName: string;
id: string;
};
scope: string;
sessionId: string; // The account id + the scope
}
@@ -44,7 +47,10 @@ interface IStoredSession {
id: string;
refreshToken: string;
scope: string; // Scopes are alphabetized and joined with a space
accountName: string;
account: {
displayName: string,
id: string
}
}
function parseQuery(uri: vscode.Uri) {
@@ -76,6 +82,9 @@ export class AzureActiveDirectoryService {
}
public async initialize(): Promise<void> {
// TODO remove, temporary migration
await keychain.migrateToken();
const storedData = await keychain.getToken();
if (storedData) {
try {
@@ -90,7 +99,10 @@ export class AzureActiveDirectoryService {
this._tokens.push({
accessToken: undefined,
refreshToken: session.refreshToken,
accountName: session.accountName,
account: {
displayName: session.account.displayName,
id: session.account.id
},
scope: session.scope,
sessionId: session.id
});
@@ -122,7 +134,7 @@ export class AzureActiveDirectoryService {
id: token.sessionId,
refreshToken: token.refreshToken,
scope: token.scope,
accountName: token.accountName
account: token.account
};
});
@@ -196,7 +208,7 @@ export class AzureActiveDirectoryService {
return {
id: token.sessionId,
getAccessToken: () => this.resolveAccessToken(token),
accountName: token.accountName,
account: token.account,
scopes: token.scope.split(' ')
};
}
@@ -220,8 +232,6 @@ export class AzureActiveDirectoryService {
} catch (e) {
throw new Error('Unavailable due to network problems');
}
throw new Error('Unavailable due to network problems');
}
private getTokenClaims(accessToken: string): ITokenClaims {
@@ -416,7 +426,10 @@ export class AzureActiveDirectoryService {
refreshToken: json.refresh_token,
scope,
sessionId: existingId || `${claims.tid}/${(claims.oid || (claims.altsecid || '' + claims.ipd || ''))}/${uuid()}`,
accountName: claims.email || claims.unique_name || 'user@example.com'
account: {
displayName: claims.email || claims.unique_name || 'user@example.com',
id: `${claims.tid}/${(claims.oid || (claims.altsecid || '' + claims.ipd || ''))}`
}
};
}