MCPcopy Create free account
hub / github.com/github/copilot-sdk / registerBearerTokenProviders

Method registerBearerTokenProviders

nodejs/src/session.ts:863–889  ·  view source on GitHub ↗

* Registers per-provider BearerTokenProvider callbacks for BYOK providers * configured with managed-identity / on-demand bearer-token auth. * * The runtime never receives the callback itself; the SDK strips it from the * provider config and instead sends `hasBearerTokenPr

(providers?: Map<string, BearerTokenProvider>)

Source from the content-addressed store, hash-verified

861 * @internal This method is called internally when creating/resuming a session.
862 */
863 registerBearerTokenProviders(providers?: Map<string, BearerTokenProvider>): void {
864 this.bearerTokenProviders.clear();
865 if (!providers || providers.size === 0) {
866 delete this.clientSessionApis.providerToken;
867 return;
868 }
869 for (const [name, callback] of providers) {
870 this.bearerTokenProviders.set(name, callback);
871 }
872
873 const self = this;
874 this.clientSessionApis.providerToken = {
875 async getToken(params) {
876 const callback = self.bearerTokenProviders.get(params.providerName);
877 if (!callback) {
878 throw new Error(
879 `No bearer-token provider registered for provider "${params.providerName}"`
880 );
881 }
882 const token = await callback({
883 providerName: params.providerName,
884 sessionId: params.sessionId,
885 });
886 return { token };
887 },
888 };
889 }
890
891 /**
892 * Registers command handlers for this session.

Callers 2

initializeSessionMethod · 0.95
resumeSessionMethod · 0.95

Calls 2

clearMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected