diff --git a/extensions/github-authentication/src/common/keychain.ts b/extensions/github-authentication/src/common/keychain.ts index 59fd14a7374..4c7c8c93c30 100644 --- a/extensions/github-authentication/src/common/keychain.ts +++ b/extensions/github-authentication/src/common/keychain.ts @@ -34,7 +34,7 @@ export class Keychain { constructor(private context: vscode.ExtensionContext) { } async setToken(token: string): Promise { try { - return await this.context.secretState.set(SERVICE_ID, token); + return await this.context.secrets.set(SERVICE_ID, token); } catch (e) { // Ignore Logger.error(`Setting token failed: ${e}`); @@ -48,7 +48,7 @@ export class Keychain { async getToken(): Promise { try { - return await this.context.secretState.get(SERVICE_ID); + return await this.context.secrets.get(SERVICE_ID); } catch (e) { // Ignore Logger.error(`Getting token failed: ${e}`); @@ -58,7 +58,7 @@ export class Keychain { async deleteToken(): Promise { try { - return await this.context.secretState.delete(SERVICE_ID); + return await this.context.secrets.delete(SERVICE_ID); } catch (e) { // Ignore Logger.error(`Deleting token failed: ${e}`); diff --git a/extensions/github-authentication/src/github.ts b/extensions/github-authentication/src/github.ts index f065556bd26..852127b9dca 100644 --- a/extensions/github-authentication/src/github.ts +++ b/extensions/github-authentication/src/github.ts @@ -40,7 +40,7 @@ export class GitHubAuthenticationProvider { // Ignore, network request failed } - context.subscriptions.push(context.secretState.onDidChange(() => this.checkForUpdates())); + context.subscriptions.push(context.secrets.onDidChange(() => this.checkForUpdates())); } private async verifySessions(): Promise { diff --git a/extensions/microsoft-authentication/src/AADHelper.ts b/extensions/microsoft-authentication/src/AADHelper.ts index 3bfe6876cd8..f966518e109 100644 --- a/extensions/microsoft-authentication/src/AADHelper.ts +++ b/extensions/microsoft-authentication/src/AADHelper.ts @@ -149,7 +149,7 @@ export class AzureActiveDirectoryService { } } - this._disposables.push(this._context.secretState.onDidChange(() => this.checkForUpdates)); + this._disposables.push(this._context.secrets.onDidChange(() => this.checkForUpdates)); } private parseStoredData(data: string): IStoredSession[] { diff --git a/extensions/microsoft-authentication/src/keychain.ts b/extensions/microsoft-authentication/src/keychain.ts index a9c9a674d82..e23603be080 100644 --- a/extensions/microsoft-authentication/src/keychain.ts +++ b/extensions/microsoft-authentication/src/keychain.ts @@ -48,7 +48,7 @@ export class Keychain { async setToken(token: string): Promise { try { - return await this.context.secretState.set(SERVICE_ID, token); + return await this.context.secrets.set(SERVICE_ID, token); } catch (e) { Logger.error(`Setting token failed: ${e}`); @@ -70,7 +70,7 @@ export class Keychain { async getToken(): Promise { try { - return await this.context.secretState.get(SERVICE_ID); + return await this.context.secrets.get(SERVICE_ID); } catch (e) { // Ignore Logger.error(`Getting token failed: ${e}`); @@ -80,7 +80,7 @@ export class Keychain { async deleteToken(): Promise { try { - return await this.context.secretState.delete(SERVICE_ID); + return await this.context.secrets.delete(SERVICE_ID); } catch (e) { // Ignore Logger.error(`Deleting token failed: ${e}`); diff --git a/src/vs/vscode.proposed.d.ts b/src/vs/vscode.proposed.d.ts index d3a3f5d1cde..aeda6768a6f 100644 --- a/src/vs/vscode.proposed.d.ts +++ b/src/vs/vscode.proposed.d.ts @@ -2342,26 +2342,22 @@ declare module 'vscode' { //#endregion /** - * TODO@RMacfarlane name - * Secrets - * SecretStorage - * SecretStore - * - * TODO@RMacfarlane jsdoc + * Represents a storage utility for secrets, information that is + * sensitive. */ - export interface SecretState { + export interface SecretStorage { /** * Retrieve a secret that was stored with key. Returns undefined if there * is no password matching that key. * @param key The key the password was stored under. - * // TODO@RMacfarlane @returns + * @returns The stored value or `undefined`. */ get(key: string): Thenable; /** * Store a secret under a given key. - * @param key The key to store the password under - * @param value The password + * @param key The key to store the password under. + * @param value The password. */ set(key: string, value: string): Thenable; @@ -2376,10 +2372,8 @@ declare module 'vscode' { */ onDidChange: Event; } + export interface ExtensionContext { - // TODO@RMacfarlane - // secrets: SecretState; - // secretStorages: SecretState; - secretState: SecretState; + secrets: SecretStorage; } } diff --git a/src/vs/workbench/api/common/extHostExtensionService.ts b/src/vs/workbench/api/common/extHostExtensionService.ts index eca1c541dcb..f21abf591b5 100644 --- a/src/vs/workbench/api/common/extHostExtensionService.ts +++ b/src/vs/workbench/api/common/extHostExtensionService.ts @@ -384,7 +384,7 @@ export abstract class AbstractExtHostExtensionService extends Disposable impleme const globalState = new ExtensionGlobalMemento(extensionDescription, this._storage); const workspaceState = new ExtensionMemento(extensionDescription.identifier.value, false, this._storage); - const secretState = new ExtensionSecrets(extensionDescription, this._secretState); + const secrets = new ExtensionSecrets(extensionDescription, this._secretState); const extensionMode = extensionDescription.isUnderDevelopment ? (this._initData.environment.extensionTestsLocationURI ? ExtensionMode.Test : ExtensionMode.Development) : ExtensionMode.Production; @@ -400,7 +400,7 @@ export abstract class AbstractExtHostExtensionService extends Disposable impleme return Object.freeze({ globalState, workspaceState, - secretState, + secrets, subscriptions: [], get extensionUri() { return extensionDescription.extensionLocation; }, get extensionPath() { return extensionDescription.extensionLocation.fsPath; }, diff --git a/src/vs/workbench/api/common/extHostSecrets.ts b/src/vs/workbench/api/common/extHostSecrets.ts index 38f49e07aff..d67ec72bcf3 100644 --- a/src/vs/workbench/api/common/extHostSecrets.ts +++ b/src/vs/workbench/api/common/extHostSecrets.ts @@ -9,7 +9,7 @@ import { ExtHostSecretState } from 'vs/workbench/api/common/exHostSecretState'; import { ExtensionIdentifier, IExtensionDescription } from 'vs/platform/extensions/common/extensions'; import { Emitter, Event } from 'vs/base/common/event'; -export class ExtensionSecrets implements vscode.SecretState { +export class ExtensionSecrets implements vscode.SecretStorage { protected readonly _id: string; protected readonly _secretState: ExtHostSecretState;