From fa091168faa83b8689ad96505c92f0c938bcc105 Mon Sep 17 00:00:00 2001 From: Arun George Date: Mon, 23 May 2022 12:49:44 -0400 Subject: [PATCH 1/4] add option to override access token --- .../src/extension/providers/ServiceExtensionProvider.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/frontend/src/extension/providers/ServiceExtensionProvider.ts b/core/frontend/src/extension/providers/ServiceExtensionProvider.ts index dd92d41b3925..6db06de38380 100644 --- a/core/frontend/src/extension/providers/ServiceExtensionProvider.ts +++ b/core/frontend/src/extension/providers/ServiceExtensionProvider.ts @@ -11,6 +11,7 @@ import { ExtensionClient, ExtensionMetadata } from "./ExtensionServiceClient"; import type { ExtensionManifest, ExtensionProvider, } from "../Extension"; +import type { AccessToken } from "@itwin/core-bentley"; /** * Required props for an extension uploaded to Bentley's Extension Service @@ -23,6 +24,7 @@ export interface ServiceExtensionProviderProps { version: string; /** iTwin Id */ iTwinId: string; + getAccessToken?: () => Promise; } /** @@ -83,7 +85,7 @@ export class ServiceExtensionProvider implements ExtensionProvider { private async _getExtensionFiles(props: ServiceExtensionProviderProps) { const extensionClient = new ExtensionClient(); - const accessToken = await IModelApp.authorizationClient?.getAccessToken(); + const accessToken = await (props.getAccessToken?.() ?? IModelApp.authorizationClient?.getAccessToken()); if (!accessToken) return undefined; From 57004e967d3f01e522e295a5e86fedb9725b582e Mon Sep 17 00:00:00 2001 From: Arun George Date: Mon, 23 May 2022 12:50:16 -0400 Subject: [PATCH 2/4] rush change --- ...tServiceProviderAccessTokenCB_2022-05-23-16-50.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 common/changes/@itwin/core-frontend/ExtServiceProviderAccessTokenCB_2022-05-23-16-50.json diff --git a/common/changes/@itwin/core-frontend/ExtServiceProviderAccessTokenCB_2022-05-23-16-50.json b/common/changes/@itwin/core-frontend/ExtServiceProviderAccessTokenCB_2022-05-23-16-50.json new file mode 100644 index 000000000000..ac11a63efe7e --- /dev/null +++ b/common/changes/@itwin/core-frontend/ExtServiceProviderAccessTokenCB_2022-05-23-16-50.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@itwin/core-frontend", + "comment": "", + "type": "none" + } + ], + "packageName": "@itwin/core-frontend" +} \ No newline at end of file From adf9de9fd3d7fc392f1c6d6316b250621e8d3970 Mon Sep 17 00:00:00 2001 From: Arun George Date: Tue, 24 May 2022 10:59:09 -0400 Subject: [PATCH 3/4] mark cb as internal to prevent others from using it (or suggesting they dont use it) --- .../frontend/src/extension/providers/ServiceExtensionProvider.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/core/frontend/src/extension/providers/ServiceExtensionProvider.ts b/core/frontend/src/extension/providers/ServiceExtensionProvider.ts index 6db06de38380..3d9a993dbb0f 100644 --- a/core/frontend/src/extension/providers/ServiceExtensionProvider.ts +++ b/core/frontend/src/extension/providers/ServiceExtensionProvider.ts @@ -24,6 +24,7 @@ export interface ServiceExtensionProviderProps { version: string; /** iTwin Id */ iTwinId: string; + /** @internal */ getAccessToken?: () => Promise; } From c458ac7d1457ea9e043bcdb45199fd08a23ef388 Mon Sep 17 00:00:00 2001 From: Arun George Date: Tue, 24 May 2022 11:17:48 -0400 Subject: [PATCH 4/4] extract-api --- common/api/core-frontend.api.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/common/api/core-frontend.api.md b/common/api/core-frontend.api.md index 0e30583a0058..85d81241332b 100644 --- a/common/api/core-frontend.api.md +++ b/common/api/core-frontend.api.md @@ -9580,6 +9580,8 @@ export class ServiceExtensionProvider implements ExtensionProvider { // @alpha export interface ServiceExtensionProviderProps { + // @internal (undocumented) + getAccessToken?: () => Promise; iTwinId: string; name: string; version: string;