Skip to content

Commit 6faeecb

Browse files
Make sure auth provider id is alligned (#251432)
Fixes #251418
1 parent 1724128 commit 6faeecb

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

src/vs/workbench/api/browser/mainThreadAuthentication.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,8 @@ export class MainThreadAuthentication extends Disposable implements MainThreadAu
121121
// Prefer Node.js extension hosts when they're available. No CORS issues etc.
122122
priority: extHostContext.extensionHostKind === ExtensionHostKind.LocalWebWorker ? 0 : 1,
123123
create: async (authorizationServer, serverMetadata, resource) => {
124-
const authProviderId = authorizationServer.toString(true);
124+
// Auth Provider Id is a combination of the authorization server and the resource, if provided.
125+
const authProviderId = resource ? `${authorizationServer.toString(true)} ${resource.resource}` : authorizationServer.toString(true);
125126
const clientId = this.dynamicAuthProviderStorageService.getClientId(authProviderId);
126127
let initialTokens: (IAuthorizationTokenResponse & { created_at: number })[] | undefined = undefined;
127128
if (clientId) {

src/vs/workbench/api/common/extHostAuthentication.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -284,12 +284,14 @@ export class DynamicAuthProvider implements vscode.AuthenticationProvider {
284284
initialTokens: IAuthorizationToken[],
285285
) {
286286
const stringifiedServer = authorizationServer.toString(true);
287+
// Auth Provider Id is a combination of the authorization server and the resource, if provided.
287288
this.id = _resourceMetadata?.resource
288289
? stringifiedServer + ' ' + _resourceMetadata?.resource
289290
: stringifiedServer;
291+
// Auth Provider label is just the resource name if provided, otherwise the authority of the authorization server.
290292
this.label = _resourceMetadata?.resource_name ?? this.authorizationServer.authority;
291293

292-
this._logger = loggerService.createLogger(stringifiedServer, { name: this.label });
294+
this._logger = loggerService.createLogger(this.id, { name: this.label });
293295
this._disposable = new DisposableStore();
294296
this._disposable.add(this._onDidChangeSessions);
295297
const scopedEvent = Event.chain(onDidDynamicAuthProviderTokensChange.event, $ => $
@@ -299,7 +301,7 @@ export class DynamicAuthProvider implements vscode.AuthenticationProvider {
299301
this._tokenStore = this._disposable.add(new TokenStore(
300302
{
301303
onDidChange: scopedEvent,
302-
set: (tokens) => _proxy.$setSessionsForDynamicAuthProvider(stringifiedServer, this.clientId, tokens),
304+
set: (tokens) => _proxy.$setSessionsForDynamicAuthProvider(this.id, this.clientId, tokens),
303305
},
304306
initialTokens,
305307
this._logger

0 commit comments

Comments
 (0)