mirror of
https://github.com/Microsoft/vscode
synced 2024-08-27 04:49:35 +00:00
Remove authentication provider package.json declaration
This commit is contained in:
parent
8e37e4722e
commit
811dc8d45a
|
@ -34,13 +34,7 @@
|
|||
"when": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
"authentication": [
|
||||
{
|
||||
"label": "GitHub",
|
||||
"id": "github"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"aiKey": "AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217",
|
||||
"main": "./out/extension.js",
|
||||
|
|
|
@ -20,14 +20,6 @@
|
|||
"workspace",
|
||||
"web"
|
||||
],
|
||||
"contributes": {
|
||||
"authentication": [
|
||||
{
|
||||
"label": "Microsoft",
|
||||
"id": "microsoft"
|
||||
}
|
||||
]
|
||||
},
|
||||
"aiKey": "AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217",
|
||||
"main": "./out/extension.js",
|
||||
"browser": "./dist/browser/extension.js",
|
||||
|
|
|
@ -136,12 +136,6 @@ export class MainThreadAuthentication extends Disposable implements MainThreadAu
|
|||
this._register(this.authenticationService.onDidUnregisterAuthenticationProvider(info => {
|
||||
this._proxy.$onDidChangeAuthenticationProviders([], [info]);
|
||||
}));
|
||||
|
||||
this._proxy.$setProviders(this.authenticationService.declaredProviders);
|
||||
|
||||
this._register(this.authenticationService.onDidChangeDeclaredProviders(e => {
|
||||
this._proxy.$setProviders(e);
|
||||
}));
|
||||
}
|
||||
|
||||
async $registerAuthenticationProvider(id: string, label: string, supportsMultipleAccounts: boolean): Promise<void> {
|
||||
|
|
|
@ -1140,7 +1140,6 @@ export interface ExtHostAuthenticationShape {
|
|||
$removeSession(id: string, sessionId: string): Promise<void>;
|
||||
$onDidChangeAuthenticationSessions(id: string, label: string): Promise<void>;
|
||||
$onDidChangeAuthenticationProviders(added: modes.AuthenticationProviderInformation[], removed: modes.AuthenticationProviderInformation[]): Promise<void>;
|
||||
$setProviders(providers: modes.AuthenticationProviderInformation[]): Promise<void>;
|
||||
}
|
||||
|
||||
export interface ExtHostSecretStateShape {
|
||||
|
|
|
@ -39,11 +39,6 @@ export class ExtHostAuthentication implements ExtHostAuthenticationShape {
|
|||
this._proxy = mainContext.getProxy(MainContext.MainThreadAuthentication);
|
||||
}
|
||||
|
||||
$setProviders(providers: vscode.AuthenticationProviderInformation[]): Promise<void> {
|
||||
this._providers = providers;
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
get providers(): ReadonlyArray<vscode.AuthenticationProviderInformation> {
|
||||
return Object.freeze(this._providers.slice());
|
||||
}
|
||||
|
|
|
@ -18,10 +18,6 @@ import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storag
|
|||
import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
|
||||
import { IProductService } from 'vs/platform/product/common/productService';
|
||||
import { isString } from 'vs/base/common/types';
|
||||
import { ExtensionsRegistry } from 'vs/workbench/services/extensions/common/extensionsRegistry';
|
||||
import { IJSONSchema } from 'vs/base/common/jsonSchema';
|
||||
import { flatten } from 'vs/base/common/arrays';
|
||||
import { isFalsyOrWhitespace } from 'vs/base/common/strings';
|
||||
import { ActivationKind, IExtensionService } from 'vs/workbench/services/extensions/common/extensions';
|
||||
import { IDialogService } from 'vs/platform/dialogs/common/dialogs';
|
||||
import { Severity } from 'vs/platform/notification/common/notification';
|
||||
|
@ -121,11 +117,6 @@ export interface IAuthenticationService {
|
|||
readonly onDidUnregisterAuthenticationProvider: Event<AuthenticationProviderInformation>;
|
||||
|
||||
readonly onDidChangeSessions: Event<{ providerId: string, label: string, event: AuthenticationSessionsChangeEvent }>;
|
||||
|
||||
// TODO @RMacfarlane completely remove this property
|
||||
declaredProviders: AuthenticationProviderInformation[];
|
||||
readonly onDidChangeDeclaredProviders: Event<AuthenticationProviderInformation[]>;
|
||||
|
||||
getSessions(id: string, scopes?: string[], activateImmediate?: boolean): Promise<ReadonlyArray<AuthenticationSession>>;
|
||||
getLabel(providerId: string): string;
|
||||
supportsMultipleAccounts(providerId: string): boolean;
|
||||
|
@ -168,29 +159,6 @@ CommandsRegistry.registerCommand('workbench.getCodeExchangeProxyEndpoints', func
|
|||
return environmentService.options?.codeExchangeProxyEndpoints;
|
||||
});
|
||||
|
||||
const authenticationDefinitionSchema: IJSONSchema = {
|
||||
type: 'object',
|
||||
additionalProperties: false,
|
||||
properties: {
|
||||
id: {
|
||||
type: 'string',
|
||||
description: nls.localize('authentication.id', 'The id of the authentication provider.')
|
||||
},
|
||||
label: {
|
||||
type: 'string',
|
||||
description: nls.localize('authentication.label', 'The human readable name of the authentication provider.'),
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const authenticationExtPoint = ExtensionsRegistry.registerExtensionPoint<AuthenticationProviderInformation[]>({
|
||||
extensionPoint: 'authentication',
|
||||
jsonSchema: {
|
||||
description: nls.localize({ key: 'authenticationExtensionPoint', comment: [`'Contributes' means adds here`] }, 'Contributes authentication'),
|
||||
type: 'array',
|
||||
items: authenticationDefinitionSchema
|
||||
}
|
||||
});
|
||||
|
||||
export class AuthenticationService extends Disposable implements IAuthenticationService {
|
||||
declare readonly _serviceBrand: undefined;
|
||||
|
@ -201,11 +169,6 @@ export class AuthenticationService extends Disposable implements IAuthentication
|
|||
|
||||
private _authenticationProviders: Map<string, MainThreadAuthenticationProvider> = new Map<string, MainThreadAuthenticationProvider>();
|
||||
|
||||
/**
|
||||
* All providers that have been statically declared by extensions. These may not be registered.
|
||||
*/
|
||||
declaredProviders: AuthenticationProviderInformation[] = [];
|
||||
|
||||
private _onDidRegisterAuthenticationProvider: Emitter<AuthenticationProviderInformation> = this._register(new Emitter<AuthenticationProviderInformation>());
|
||||
readonly onDidRegisterAuthenticationProvider: Event<AuthenticationProviderInformation> = this._onDidRegisterAuthenticationProvider.event;
|
||||
|
||||
|
@ -215,9 +178,6 @@ export class AuthenticationService extends Disposable implements IAuthentication
|
|||
private _onDidChangeSessions: Emitter<{ providerId: string, label: string, event: AuthenticationSessionsChangeEvent }> = this._register(new Emitter<{ providerId: string, label: string, event: AuthenticationSessionsChangeEvent }>());
|
||||
readonly onDidChangeSessions: Event<{ providerId: string, label: string, event: AuthenticationSessionsChangeEvent }> = this._onDidChangeSessions.event;
|
||||
|
||||
private _onDidChangeDeclaredProviders: Emitter<AuthenticationProviderInformation[]> = this._register(new Emitter<AuthenticationProviderInformation[]>());
|
||||
readonly onDidChangeDeclaredProviders: Event<AuthenticationProviderInformation[]> = this._onDidChangeDeclaredProviders.event;
|
||||
|
||||
constructor(
|
||||
@IActivityService private readonly activityService: IActivityService,
|
||||
@IExtensionService private readonly extensionService: IExtensionService,
|
||||
|
@ -234,38 +194,6 @@ export class AuthenticationService extends Disposable implements IAuthentication
|
|||
precondition: ContextKeyExpr.false()
|
||||
},
|
||||
});
|
||||
|
||||
authenticationExtPoint.setHandler((extensions, { added, removed }) => {
|
||||
added.forEach(point => {
|
||||
for (const provider of point.value) {
|
||||
if (isFalsyOrWhitespace(provider.id)) {
|
||||
point.collector.error(nls.localize('authentication.missingId', 'An authentication contribution must specify an id.'));
|
||||
continue;
|
||||
}
|
||||
|
||||
if (isFalsyOrWhitespace(provider.label)) {
|
||||
point.collector.error(nls.localize('authentication.missingLabel', 'An authentication contribution must specify a label.'));
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!this.declaredProviders.some(p => p.id === provider.id)) {
|
||||
this.declaredProviders.push(provider);
|
||||
} else {
|
||||
point.collector.error(nls.localize('authentication.idConflict', "This authentication id '{0}' has already been registered", provider.id));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
const removedExtPoints = flatten(removed.map(r => r.value));
|
||||
removedExtPoints.forEach(point => {
|
||||
const index = this.declaredProviders.findIndex(provider => provider.id === point.id);
|
||||
if (index > -1) {
|
||||
this.declaredProviders.splice(index, 1);
|
||||
}
|
||||
});
|
||||
|
||||
this._onDidChangeDeclaredProviders.fire(this.declaredProviders);
|
||||
});
|
||||
}
|
||||
|
||||
getProviderIds(): string[] {
|
||||
|
|
|
@ -132,7 +132,7 @@ export class UserDataSyncWorkbenchService extends Disposable implements IUserDat
|
|||
}
|
||||
|
||||
private updateAuthenticationProviders(): void {
|
||||
this._authenticationProviders = (this.userDataSyncStoreManagementService.userDataSyncStore?.authenticationProviders || []).filter(({ id }) => this.authenticationService.declaredProviders.some(provider => provider.id === id));
|
||||
this._authenticationProviders = (this.userDataSyncStoreManagementService.userDataSyncStore?.authenticationProviders || []).filter(({ id }) => this.authenticationService.getProviderIds().some(providerId => providerId === id));
|
||||
}
|
||||
|
||||
private isSupportedAuthenticationProviderId(authenticationProviderId: string): boolean {
|
||||
|
@ -167,8 +167,6 @@ export class UserDataSyncWorkbenchService extends Disposable implements IUserDat
|
|||
|
||||
await this.update();
|
||||
|
||||
this._register(this.authenticationService.onDidChangeDeclaredProviders(() => this.updateAuthenticationProviders()));
|
||||
|
||||
this._register(
|
||||
Event.any(
|
||||
Event.filter(
|
||||
|
|
Loading…
Reference in a new issue