MCPcopy Index your code
hub / github.com/sourcebot-dev/sourcebot / getTokenFromConfig

Function getTokenFromConfig

packages/shared/src/crypto.ts:104–130  ·  view source on GitHub ↗
(token: Token)

Source from the content-addressed store, hash-verified

102}
103
104export const getTokenFromConfig = async (token: Token): Promise<string> => {
105 if ('env' in token) {
106 const envToken = process.env[token.env];
107 if (!envToken) {
108 throw new Error(`Environment variable ${token.env} not found.`);
109 }
110
111 return envToken.trim();
112 } else if ('googleCloudSecret' in token) {
113 try {
114 const client = new SecretManagerServiceClient();
115 const [response] = await client.accessSecretVersion({
116 name: token.googleCloudSecret,
117 });
118
119 if (!response.payload?.data) {
120 throw new Error(`Secret ${token.googleCloudSecret} not found.`);
121 }
122
123 return response.payload.data.toString().trim();
124 } catch (error) {
125 throw new Error(`Failed to access Google Cloud secret ${token.googleCloudSecret}: ${error instanceof Error ? error.message : String(error)}`);
126 }
127 } else {
128 throw new Error('Invalid token configuration');
129 }
130};
131
132// OAuth Token Encryption using AUTH_SECRET
133// Encrypts OAuth tokens (access_token, refresh_token, id_token) before database storage.

Callers 13

getGiteaReposFromConfigFunction · 0.90
getGitLabReposFromConfigFunction · 0.90
getGitHubReposFromConfigFunction · 0.90
initMethod · 0.90
refreshOAuthTokenFunction · 0.90
getRepoImageFunction · 0.90
getEEIdentityProvidersFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected