mirror of
https://github.com/Microsoft/vscode
synced 2024-08-27 04:49:35 +00:00
Secrets API feedback
This commit is contained in:
parent
037708a33f
commit
ced3bb4bb9
|
@ -34,7 +34,7 @@ export class Keychain {
|
|||
constructor(private context: vscode.ExtensionContext) { }
|
||||
async setToken(token: string): Promise<void> {
|
||||
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<string | null | undefined> {
|
||||
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<void> {
|
||||
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}`);
|
||||
|
|
|
@ -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<void> {
|
||||
|
|
|
@ -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[] {
|
||||
|
|
|
@ -48,7 +48,7 @@ export class Keychain {
|
|||
async setToken(token: string): Promise<void> {
|
||||
|
||||
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<string | null | undefined> {
|
||||
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<void> {
|
||||
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}`);
|
||||
|
|
22
src/vs/vscode.proposed.d.ts
vendored
22
src/vs/vscode.proposed.d.ts
vendored
|
@ -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<string | undefined>;
|
||||
|
||||
/**
|
||||
* 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<void>;
|
||||
|
||||
|
@ -2376,10 +2372,8 @@ declare module 'vscode' {
|
|||
*/
|
||||
onDidChange: Event<void>;
|
||||
}
|
||||
|
||||
export interface ExtensionContext {
|
||||
// TODO@RMacfarlane
|
||||
// secrets: SecretState;
|
||||
// secretStorages: SecretState;
|
||||
secretState: SecretState;
|
||||
secrets: SecretStorage;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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<vscode.ExtensionContext>({
|
||||
globalState,
|
||||
workspaceState,
|
||||
secretState,
|
||||
secrets,
|
||||
subscriptions: [],
|
||||
get extensionUri() { return extensionDescription.extensionLocation; },
|
||||
get extensionPath() { return extensionDescription.extensionLocation.fsPath; },
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue