@cloudflare/workers-auth 0.5.4 → 0.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cf/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { createAuthConfigFileHelpers, createPreferences, createKeyringPreference, createFileStorage, createCloudflareAuth, createCloudflareProfileStore } from '../chunk-RTFTHYPD.mjs';
2
- import '../chunk-PBW6773T.mjs';
1
+ import { createAuthConfigFileHelpers, createPreferences, createKeyringPreference, createFileStorage, createCloudflareAuth, createCloudflareProfileStore } from '../chunk-CEH7NWR7.mjs';
2
+ import '../chunk-7ZPLVMOI.mjs';
3
3
  import { __name } from '../chunk-O6YSETKJ.mjs';
4
4
  import { getEnvironmentVariableFactory, getGlobalConfigPath, getCloudflareApiEnvironmentFromEnv } from '@cloudflare/workers-utils';
5
5
  import path from 'node:path';
@@ -99,6 +99,19 @@ function requireApiToken(options) {
99
99
  return credentials;
100
100
  }
101
101
  __name(requireApiToken, "requireApiToken");
102
+ var ACCOUNT_ID_PATTERN = /^[A-Za-z0-9_-]+$/;
103
+ function validateAccountId(accountId, source) {
104
+ if (!ACCOUNT_ID_PATTERN.test(accountId)) {
105
+ throw new UserError(
106
+ `Invalid account ID "${accountId}" ${source}. Account IDs may only contain alphanumeric characters, hyphens, and underscores.`,
107
+ { telemetryMessage: "user account id invalid characters" }
108
+ );
109
+ }
110
+ return accountId;
111
+ }
112
+ __name(validateAccountId, "validateAccountId");
113
+
114
+ // src/env-vars.ts
102
115
  var getAuthDomainFromEnv = getEnvironmentVariableFactory({
103
116
  variableName: "WRANGLER_AUTH_DOMAIN",
104
117
  defaultValue: /* @__PURE__ */ __name(() => getCloudflareApiEnvironmentFromEnv() === "staging" ? "dash.staging.cloudflare.com" : "dash.cloudflare.com", "defaultValue")
@@ -115,10 +128,21 @@ var getRevokeUrlFromEnv = getEnvironmentVariableFactory({
115
128
  variableName: "WRANGLER_REVOKE_URL",
116
129
  defaultValue: /* @__PURE__ */ __name(() => `https://${getAuthDomainFromEnv()}/oauth2/revoke`, "defaultValue")
117
130
  });
118
- var getCloudflareAccountIdFromEnv = getEnvironmentVariableFactory({
131
+ var readCloudflareAccountIdFromEnv = getEnvironmentVariableFactory({
119
132
  variableName: "CLOUDFLARE_ACCOUNT_ID",
120
133
  deprecatedName: "CF_ACCOUNT_ID"
121
134
  });
135
+ function getCloudflareAccountIdFromEnv() {
136
+ const accountId = readCloudflareAccountIdFromEnv();
137
+ if (!accountId) {
138
+ return void 0;
139
+ }
140
+ return validateAccountId(
141
+ accountId,
142
+ "set in the `CLOUDFLARE_ACCOUNT_ID` environment variable"
143
+ );
144
+ }
145
+ __name(getCloudflareAccountIdFromEnv, "getCloudflareAccountIdFromEnv");
122
146
  var getAccessClientIdFromEnv = getEnvironmentVariableFactory({
123
147
  variableName: "CLOUDFLARE_ACCESS_CLIENT_ID"
124
148
  });
@@ -3724,4 +3748,4 @@ smol-toml/dist/index.js:
3724
3748
  *)
3725
3749
  */
3726
3750
 
3727
- export { EncryptedFileCredentialStore, FileCredentialStore, LinuxSecretToolKeyProvider, MacSecurityKeyProvider, NapiKeyringKeyProvider, PINNED_KEYRING_VERSION, PKCE_CHARSET, TEMPORARY_TERMS_NOTICE, TEMPORARY_TERMS_PROMPT, clearAccessCaches, clearCredentialStorageState, createCredentialStorageContext, createOAuthFlow, createProfileStore, decryptString, dedent, domainUsesAccess, encryptString, findKeyringBinding, generateAuthUrl, generateKey, generateRandomState, getAccessHeaders, getAuthConfigFilePath, getAuthFromEnv, getAuthUrlFromEnv, getCloudflareAPITokenFromEnv, getCloudflareAccountIdFromEnv, getCloudflareAuthUseKeyringFromEnv, getCloudflareGlobalAuthEmailFromEnv, getCloudflareGlobalAuthKeyFromEnv, getEncryptedAuthConfigFilePath, getKeyringAccountName, getKeyringInstallDir, installKeyringBindingSync, parseEncryptedEnvelope, parseFile, probeSecretTool, readStoredAuthState, resetCredentialStorageState, resolveKeyProvider, scrubEncryptedCredentials, setKeyProviderFactoryForTesting, setKeyringEntryFactory, setLinuxSecretToolRunner, setMacSecurityCommandRunner, setNpmRunner, stringifyFile, validateProfileName };
3751
+ export { EncryptedFileCredentialStore, FileCredentialStore, LinuxSecretToolKeyProvider, MacSecurityKeyProvider, NapiKeyringKeyProvider, PINNED_KEYRING_VERSION, PKCE_CHARSET, TEMPORARY_TERMS_NOTICE, TEMPORARY_TERMS_PROMPT, clearAccessCaches, clearCredentialStorageState, createCredentialStorageContext, createOAuthFlow, createProfileStore, decryptString, dedent, domainUsesAccess, encryptString, findKeyringBinding, generateAuthUrl, generateKey, generateRandomState, getAccessHeaders, getAuthConfigFilePath, getAuthFromEnv, getAuthUrlFromEnv, getCloudflareAPITokenFromEnv, getCloudflareAccountIdFromEnv, getCloudflareAuthUseKeyringFromEnv, getCloudflareGlobalAuthEmailFromEnv, getCloudflareGlobalAuthKeyFromEnv, getEncryptedAuthConfigFilePath, getKeyringAccountName, getKeyringInstallDir, installKeyringBindingSync, parseEncryptedEnvelope, parseFile, probeSecretTool, readStoredAuthState, resetCredentialStorageState, resolveKeyProvider, scrubEncryptedCredentials, setKeyProviderFactoryForTesting, setKeyringEntryFactory, setLinuxSecretToolRunner, setMacSecurityCommandRunner, setNpmRunner, stringifyFile, validateAccountId, validateProfileName };
@@ -1,4 +1,4 @@
1
- import { stringifyFile, parseFile, dedent, createCredentialStorageContext, createOAuthFlow, getAuthFromEnv, createProfileStore, getCloudflareAccountIdFromEnv, getAuthConfigFilePath, getEncryptedAuthConfigFilePath, scrubEncryptedCredentials, validateProfileName, getCloudflareAuthUseKeyringFromEnv } from './chunk-PBW6773T.mjs';
1
+ import { stringifyFile, parseFile, dedent, createCredentialStorageContext, createOAuthFlow, getAuthFromEnv, createProfileStore, validateAccountId, getCloudflareAccountIdFromEnv, getAuthConfigFilePath, getEncryptedAuthConfigFilePath, scrubEncryptedCredentials, validateProfileName, getCloudflareAuthUseKeyringFromEnv } from './chunk-7ZPLVMOI.mjs';
2
2
  import { __name } from './chunk-O6YSETKJ.mjs';
3
3
  import { existsSync, rmSync, mkdirSync, writeFileSync, chmodSync, readFileSync as readFileSync$1, readdirSync } from 'node:fs';
4
4
  import path3 from 'node:path';
@@ -1012,7 +1012,10 @@ Alternatively, try running \`${descriptor.commands.login}\` to re-authenticate.`
1012
1012
  return temporaryAccount.account.id;
1013
1013
  }
1014
1014
  if (config.account_id) {
1015
- return config.account_id;
1015
+ return validateAccountId(
1016
+ config.account_id,
1017
+ `set as \`account_id\` in your ${descriptor.getConfigFileLabel()} file`
1018
+ );
1016
1019
  }
1017
1020
  const envAccountId = getCloudflareAccountIdFromEnv();
1018
1021
  if (envAccountId) {
package/dist/index.d.mts CHANGED
@@ -81,8 +81,13 @@ declare const getAuthUrlFromEnv: () => string;
81
81
  * This is a Cloudflare-wide variable (not wrangler-specific), so it lives in the
82
82
  * shared core rather than a consumer layer. `CF_ACCOUNT_ID` is the deprecated
83
83
  * spelling.
84
+ *
85
+ * Every caller feeds the result into a Cloudflare API URL path, so the value is
86
+ * validated here rather than at each call site. An empty string is treated as
87
+ * unset so callers keep falling back to the cached / interactively selected
88
+ * account.
84
89
  */
85
- declare const getCloudflareAccountIdFromEnv: () => string | undefined;
90
+ declare function getCloudflareAccountIdFromEnv(): string | undefined;
86
91
  /**
87
92
  * `CLOUDFLARE_AUTH_USE_KEYRING` overrides where OAuth credentials are stored.
88
93
  *
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export { EncryptedFileCredentialStore, FileCredentialStore, LinuxSecretToolKeyProvider, MacSecurityKeyProvider, NapiKeyringKeyProvider, PINNED_KEYRING_VERSION, PKCE_CHARSET, TEMPORARY_TERMS_NOTICE, TEMPORARY_TERMS_PROMPT, clearAccessCaches, clearCredentialStorageState, createCredentialStorageContext, createOAuthFlow, createProfileStore, decryptString, domainUsesAccess, encryptString, findKeyringBinding, generateAuthUrl, generateKey, generateRandomState, getAccessHeaders, getAuthConfigFilePath, getAuthFromEnv, getAuthUrlFromEnv, getCloudflareAPITokenFromEnv, getCloudflareAccountIdFromEnv, getCloudflareAuthUseKeyringFromEnv, getCloudflareGlobalAuthEmailFromEnv, getCloudflareGlobalAuthKeyFromEnv, getEncryptedAuthConfigFilePath, getKeyringAccountName, getKeyringInstallDir, installKeyringBindingSync, parseEncryptedEnvelope, probeSecretTool, readStoredAuthState, resetCredentialStorageState, resolveKeyProvider, scrubEncryptedCredentials, setKeyProviderFactoryForTesting, setKeyringEntryFactory, setLinuxSecretToolRunner, setMacSecurityCommandRunner, setNpmRunner, validateProfileName } from './chunk-PBW6773T.mjs';
1
+ export { EncryptedFileCredentialStore, FileCredentialStore, LinuxSecretToolKeyProvider, MacSecurityKeyProvider, NapiKeyringKeyProvider, PINNED_KEYRING_VERSION, PKCE_CHARSET, TEMPORARY_TERMS_NOTICE, TEMPORARY_TERMS_PROMPT, clearAccessCaches, clearCredentialStorageState, createCredentialStorageContext, createOAuthFlow, createProfileStore, decryptString, domainUsesAccess, encryptString, findKeyringBinding, generateAuthUrl, generateKey, generateRandomState, getAccessHeaders, getAuthConfigFilePath, getAuthFromEnv, getAuthUrlFromEnv, getCloudflareAPITokenFromEnv, getCloudflareAccountIdFromEnv, getCloudflareAuthUseKeyringFromEnv, getCloudflareGlobalAuthEmailFromEnv, getCloudflareGlobalAuthKeyFromEnv, getEncryptedAuthConfigFilePath, getKeyringAccountName, getKeyringInstallDir, installKeyringBindingSync, parseEncryptedEnvelope, probeSecretTool, readStoredAuthState, resetCredentialStorageState, resolveKeyProvider, scrubEncryptedCredentials, setKeyProviderFactoryForTesting, setKeyringEntryFactory, setLinuxSecretToolRunner, setMacSecurityCommandRunner, setNpmRunner, validateProfileName } from './chunk-7ZPLVMOI.mjs';
2
2
  import './chunk-O6YSETKJ.mjs';