@atlasauth/cli 0.25.1 → 0.27.0
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/CHANGELOG.md +49 -0
- package/README.md +26 -5
- package/dist/args.d.ts +30 -0
- package/dist/args.js +15 -0
- package/dist/args.js.map +1 -1
- package/dist/commands/config.d.ts +27 -2
- package/dist/commands/config.js +366 -44
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/doctor-scan.d.ts +29 -0
- package/dist/commands/doctor-scan.js +233 -0
- package/dist/commands/doctor-scan.js.map +1 -0
- package/dist/commands/golive.js +16 -4
- package/dist/commands/golive.js.map +1 -1
- package/dist/commands/import-jsonl.d.ts +51 -0
- package/dist/commands/import-jsonl.js +326 -0
- package/dist/commands/import-jsonl.js.map +1 -0
- package/dist/commands/import.js +22 -12
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/init-next.d.ts +4 -0
- package/dist/commands/init-next.js +86 -0
- package/dist/commands/init-next.js.map +1 -0
- package/dist/commands/init.js +119 -25
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/project-commands.js +74 -4
- package/dist/commands/project-commands.js.map +1 -1
- package/dist/commands/setup-guide.d.ts +3 -0
- package/dist/commands/setup-guide.js +38 -0
- package/dist/commands/setup-guide.js.map +1 -0
- package/dist/commands/users.js +12 -1
- package/dist/commands/users.js.map +1 -1
- package/dist/config-http.d.ts +9 -0
- package/dist/config-http.js +7 -1
- package/dist/config-http.js.map +1 -1
- package/dist/context.d.ts +18 -1
- package/dist/context.js +6 -1
- package/dist/context.js.map +1 -1
- package/dist/help.d.ts +1 -1
- package/dist/help.js +79 -12
- package/dist/help.js.map +1 -1
- package/dist/redact.d.ts +41 -0
- package/dist/redact.js +115 -0
- package/dist/redact.js.map +1 -0
- package/dist/run.d.ts +2 -2
- package/dist/run.js +16 -4
- package/dist/run.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":";;AAgDA,
|
|
1
|
+
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.scaffoldNext = scaffoldNext;
|
|
4
|
+
const node_fs_1 = require("node:fs");
|
|
5
|
+
const node_path_1 = require("node:path");
|
|
6
|
+
const args_1 = require("../args");
|
|
7
|
+
const errors_1 = require("../errors");
|
|
8
|
+
/**
|
|
9
|
+
* `atlas init --next --mount <path>`: the files a Next.js App Router app needs for
|
|
10
|
+
* a path mount. Offline: nothing here needs a key. An existing file is refused
|
|
11
|
+
* unless `--force`, before anything is written.
|
|
12
|
+
*/
|
|
13
|
+
const SEGMENT = /^[a-z0-9-~][a-z0-9_~.-]*$/;
|
|
14
|
+
function parseMount(raw) {
|
|
15
|
+
const path = raw ?? '/atlas';
|
|
16
|
+
const segments = path.split('/').slice(1);
|
|
17
|
+
if (!path.startsWith('/') || path.endsWith('/') || segments.length > 4 || !segments.every((s) => SEGMENT.test(s))) {
|
|
18
|
+
throw new errors_1.CliError(`--mount must look like /atlas: up to 4 lowercase segments, no trailing slash, none starting with '_' (the App Router never routes those). Got '${path}'.`);
|
|
19
|
+
}
|
|
20
|
+
return path;
|
|
21
|
+
}
|
|
22
|
+
const mountRoute = (base) => `import { createMountHandler } from '@atlasauth/nextjs/server';
|
|
23
|
+
|
|
24
|
+
export const { GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD } = createMountHandler({ basePath: '${base}' });
|
|
25
|
+
`;
|
|
26
|
+
const VERIFY_ROUTE = `import { createVerifyHandler } from '@atlasauth/nextjs/server';
|
|
27
|
+
|
|
28
|
+
export const { GET } = createVerifyHandler();
|
|
29
|
+
`;
|
|
30
|
+
const YAML = `# Atlas config for this app. Plan with: atlas plan atlas.yaml
|
|
31
|
+
# Apply with: atlas apply atlas.yaml --secrets-file <a 0600 dotenv file>
|
|
32
|
+
instance:
|
|
33
|
+
allowed_origins:
|
|
34
|
+
- \${APP_ORIGIN}
|
|
35
|
+
|
|
36
|
+
# oauth_providers:
|
|
37
|
+
# - provider: google
|
|
38
|
+
# client_id: \${GOOGLE_CLIENT_ID}
|
|
39
|
+
# mode: native # needs no client_secret; mode: redirect does
|
|
40
|
+
|
|
41
|
+
# webhook_endpoints:
|
|
42
|
+
# - url: \${APP_ORIGIN}/api/webhooks/atlas
|
|
43
|
+
# enabled_events: ['user.created']
|
|
44
|
+
# secret: \${ATLAS_WEBHOOK_SECRET}
|
|
45
|
+
# active: false
|
|
46
|
+
`;
|
|
47
|
+
const ENV_EXAMPLE = `# Build args: safe to bake into an image. The publishable key is the only one.
|
|
48
|
+
NEXT_PUBLIC_ATLAS_PUBLISHABLE_KEY=
|
|
49
|
+
|
|
50
|
+
# Runtime only. Never pass these as build args: build args stay in the image metadata.
|
|
51
|
+
# Check with: atlas doctor --scan-dir .
|
|
52
|
+
ATLAS_SECRET_KEY=
|
|
53
|
+
ATLAS_WEBHOOK_SECRET=
|
|
54
|
+
ATLAS_PROXY_SECRET=
|
|
55
|
+
|
|
56
|
+
# Runtime, not secret.
|
|
57
|
+
ATLAS_UPSTREAM=
|
|
58
|
+
ATLAS_VERIFY_TOKEN=
|
|
59
|
+
ATLAS_ISSUER=
|
|
60
|
+
ATLAS_JWKS_URL=
|
|
61
|
+
APP_ORIGIN=
|
|
62
|
+
`;
|
|
63
|
+
/** Write the files; the paths written. */
|
|
64
|
+
function scaffoldNext(ctx, args) {
|
|
65
|
+
const base = parseMount((0, args_1.str)(args.values, 'mount'));
|
|
66
|
+
const root = (0, node_path_1.resolve)((0, args_1.str)(args.values, 'dir') ?? '.');
|
|
67
|
+
const app = !(0, node_fs_1.existsSync)((0, node_path_1.join)(root, 'app')) && (0, node_fs_1.existsSync)((0, node_path_1.join)(root, 'src', 'app')) ? (0, node_path_1.join)('src', 'app') : 'app';
|
|
68
|
+
const files = {
|
|
69
|
+
'atlas.yaml': YAML,
|
|
70
|
+
[(0, node_path_1.join)(app, ...base.split('/').slice(1), '[[...path]]', 'route.ts')]: mountRoute(base),
|
|
71
|
+
[(0, node_path_1.join)(app, '.well-known', 'atlas-verify', '[token]', 'route.ts')]: VERIFY_ROUTE,
|
|
72
|
+
'.env.example': ENV_EXAMPLE,
|
|
73
|
+
};
|
|
74
|
+
const taken = Object.keys(files).filter((f) => (0, node_fs_1.existsSync)((0, node_path_1.join)(root, f)));
|
|
75
|
+
if (taken.length && args.values.force !== true) {
|
|
76
|
+
throw new errors_1.CliError(`Already there: ${taken.join(', ')}. Nothing was written. Move them aside, or re-run with --force.`);
|
|
77
|
+
}
|
|
78
|
+
for (const [file, content] of Object.entries(files)) {
|
|
79
|
+
(0, node_fs_1.mkdirSync)((0, node_path_1.dirname)((0, node_path_1.join)(root, file)), { recursive: true });
|
|
80
|
+
(0, node_fs_1.writeFileSync)((0, node_path_1.join)(root, file), content);
|
|
81
|
+
ctx.io.out(`Wrote ${file}`);
|
|
82
|
+
}
|
|
83
|
+
ctx.io.out(`Next: run 'atlas setup-guide' for the calls that claim ${base} and take it live.`);
|
|
84
|
+
return Object.keys(files);
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=init-next.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-next.js","sourceRoot":"","sources":["../../src/commands/init-next.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.js
CHANGED
|
@@ -9,7 +9,9 @@ const errors_1 = require("../errors");
|
|
|
9
9
|
const output_1 = require("../output");
|
|
10
10
|
const project_1 = require("../project");
|
|
11
11
|
const secrets_1 = require("../secrets");
|
|
12
|
+
const doctor_scan_1 = require("./doctor-scan");
|
|
12
13
|
const shared_1 = require("./shared");
|
|
14
|
+
const init_next_1 = require("./init-next");
|
|
13
15
|
/**
|
|
14
16
|
* `atlas init` — set up an Atlas app for a product in one idempotent command.
|
|
15
17
|
*
|
|
@@ -37,6 +39,20 @@ const STRATEGY_ALIASES = {
|
|
|
37
39
|
/** Strategies that need email delivery: turned on only once the instance can send. */
|
|
38
40
|
const EMAIL_STRATEGIES = new Set(['emailCode', 'emailLink']);
|
|
39
41
|
const EMAIL_PROVIDERS = ['resend', 'brevo'];
|
|
42
|
+
/**
|
|
43
|
+
* Where one environment's secret files live. An existing flat `<env>.env` keeps its
|
|
44
|
+
* layout. New with `--with-dev`, once the folder holds the other environment's key,
|
|
45
|
+
* and from then on: one folder per environment, so a script that reads a folder's
|
|
46
|
+
* `*.env` never mixes a development and a production key.
|
|
47
|
+
*/
|
|
48
|
+
function secretLayout(dir, env, withDev) {
|
|
49
|
+
const other = env === 'production' ? 'development' : 'production';
|
|
50
|
+
const holdsOther = (0, node_fs_1.existsSync)((0, node_path_1.join)(dir, `${other}.env`)) || (0, doctor_scan_1.folderHoldsKey)(dir, env === 'production' ? 'test' : 'live');
|
|
51
|
+
const nested = !(0, node_fs_1.existsSync)((0, node_path_1.join)(dir, `${env}.env`)) && (withDev || (0, node_fs_1.existsSync)((0, node_path_1.join)(dir, env, 'atlas.env')) || holdsOther);
|
|
52
|
+
return nested
|
|
53
|
+
? { dir: (0, node_path_1.join)(dir, env), key: 'atlas.env', client: 'oauth-client.env', webhook: 'webhook.env' }
|
|
54
|
+
: { dir, key: `${env}.env`, client: `${env}-oauth-client.env`, webhook: `${env}-webhook.env` };
|
|
55
|
+
}
|
|
40
56
|
function camel(s) {
|
|
41
57
|
return s.replace(/_([a-z])/g, (_m, c) => c.toUpperCase());
|
|
42
58
|
}
|
|
@@ -61,6 +77,9 @@ function parseOptions(args) {
|
|
|
61
77
|
if (emailRaw === 'development' && environment !== 'development') {
|
|
62
78
|
throw new errors_1.CliError('--email development is only for --instance-env development. Use --email managed on production.');
|
|
63
79
|
}
|
|
80
|
+
if (v['with-dev'] === true && environment !== 'production') {
|
|
81
|
+
throw new errors_1.CliError('--with-dev creates a development sibling for a production app; drop --instance-env development.');
|
|
82
|
+
}
|
|
64
83
|
const providerRaw = (0, args_1.str)(v, 'email-provider');
|
|
65
84
|
if (providerRaw !== undefined && !EMAIL_PROVIDERS.includes(providerRaw)) {
|
|
66
85
|
throw new errors_1.CliError(`--email-provider must be ${EMAIL_PROVIDERS.join(' or ')}, got '${providerRaw}'. Configure other providers with PUT /v1/messaging_providers/email.`);
|
|
@@ -109,6 +128,8 @@ function parseOptions(args) {
|
|
|
109
128
|
backchannelUrl,
|
|
110
129
|
force: v.force === true,
|
|
111
130
|
rotateSecret: v['rotate-secret'] === true,
|
|
131
|
+
noEnvFiles: v['no-env-files'] === true,
|
|
132
|
+
withDev: v['with-dev'] === true,
|
|
112
133
|
};
|
|
113
134
|
}
|
|
114
135
|
/** The platform key and API URL: ATLAS_PLATFORM_KEY, else a stored profile holding a psk_ key. */
|
|
@@ -151,14 +172,38 @@ function assertFreeForNewSecret(path, force) {
|
|
|
151
172
|
}
|
|
152
173
|
}
|
|
153
174
|
async function init(ctx, args) {
|
|
175
|
+
if (args.values.next === true) {
|
|
176
|
+
(0, init_next_1.scaffoldNext)(ctx, args);
|
|
177
|
+
// The files need no instance; with --product the instance is set up as well.
|
|
178
|
+
if (!(0, args_1.str)(args.values, 'product'))
|
|
179
|
+
return 0;
|
|
180
|
+
}
|
|
154
181
|
const opts = parseOptions(args);
|
|
155
182
|
const json = (0, shared_1.wantsJson)(args.values);
|
|
156
183
|
const log = (line) => (json ? ctx.io.err(line) : ctx.io.out(line));
|
|
157
184
|
const dir = (0, secrets_1.productDir)(ctx.env, opts.product);
|
|
158
185
|
const env = opts.environment;
|
|
159
|
-
const
|
|
160
|
-
const
|
|
161
|
-
const
|
|
186
|
+
const layout = secretLayout(dir, env, opts.withDev);
|
|
187
|
+
const secretFile = (0, node_path_1.join)(layout.dir, layout.key);
|
|
188
|
+
const clientFile = (0, node_path_1.join)(layout.dir, layout.client);
|
|
189
|
+
const webhookFile = (0, node_path_1.join)(layout.dir, layout.webhook);
|
|
190
|
+
// A secret has to reach the caller once. With no file the one safe channel is stdout, when asked for by name.
|
|
191
|
+
if (opts.noEnvFiles && !json) {
|
|
192
|
+
throw new errors_1.CliError(`--no-env-files hands each secret over once on stdout, so it needs --json. Without the flag they would be written to: ${secretFile}, ${clientFile}, ${webhookFile}. Nothing was changed.`);
|
|
193
|
+
}
|
|
194
|
+
const handed = {};
|
|
195
|
+
const saveSecret = (target, forEnv, fileName, entries, options) => {
|
|
196
|
+
if (opts.noEnvFiles)
|
|
197
|
+
handed[forEnv] = { ...handed[forEnv], ...entries };
|
|
198
|
+
else
|
|
199
|
+
(0, secrets_1.writeSecretFile)(target.dir, fileName, entries, options);
|
|
200
|
+
};
|
|
201
|
+
const checkFree = (path, force) => {
|
|
202
|
+
if (!opts.noEnvFiles)
|
|
203
|
+
assertFreeForNewSecret(path, force);
|
|
204
|
+
};
|
|
205
|
+
const savedAt = (path) => (opts.noEnvFiles ? 'the JSON output' : path);
|
|
206
|
+
const hasFile = (file, name) => !opts.noEnvFiles && Boolean((0, secrets_1.readEnvFile)(file)?.[name]);
|
|
162
207
|
// The plan, then a confirmation unless --yes.
|
|
163
208
|
log(`atlas init: ${opts.appName} (${env})`);
|
|
164
209
|
log(` strategies: ${opts.strategies.length ? opts.strategies.join(', ') : '(instance defaults)'}`);
|
|
@@ -169,7 +214,12 @@ async function init(ctx, args) {
|
|
|
169
214
|
log(` client: first-party OAuth client → ${opts.redirects.join(', ')}`);
|
|
170
215
|
if (opts.webhookUrl)
|
|
171
216
|
log(` webhook: ${opts.webhookUrl}`);
|
|
172
|
-
|
|
217
|
+
if (opts.withDev)
|
|
218
|
+
log(' sibling: a development instance, each environment in its own folder');
|
|
219
|
+
log(opts.noEnvFiles ? ' secrets: once, in the JSON output on stdout (no files)' : ` secrets: ${dir} (0600 files, never printed)`);
|
|
220
|
+
if (!opts.noEnvFiles && !opts.withDev && layout.dir !== dir && !(0, node_fs_1.existsSync)(secretFile)) {
|
|
221
|
+
log(` note: ${dir} already holds another environment's key, so the ${env} files go in ${layout.dir}.`);
|
|
222
|
+
}
|
|
173
223
|
if (args.values.yes !== true) {
|
|
174
224
|
const answer = (await ctx.prompt.text('Proceed? (y/N)')).trim().toLowerCase();
|
|
175
225
|
if (answer !== 'y' && answer !== 'yes')
|
|
@@ -182,37 +232,68 @@ async function init(ctx, args) {
|
|
|
182
232
|
let app = apps.find((a) => a.name === opts.appName && a.environment === env);
|
|
183
233
|
let created = false;
|
|
184
234
|
if (!app) {
|
|
185
|
-
|
|
235
|
+
checkFree(secretFile, opts.force);
|
|
186
236
|
const origins = [...new Set(opts.redirects.map((r) => new URL(r).origin).filter((o) => o.startsWith('http')))];
|
|
187
237
|
app = await plat.post('/v1/platform/apps', {
|
|
188
238
|
name: opts.appName,
|
|
189
239
|
environment: env,
|
|
190
|
-
create_development_sibling:
|
|
240
|
+
create_development_sibling: opts.withDev,
|
|
191
241
|
...(origins.length ? { allowed_origins: origins } : {}),
|
|
192
242
|
});
|
|
193
243
|
created = true;
|
|
194
|
-
(
|
|
244
|
+
saveSecret(layout, env, layout.key, { ATLAS_SECRET_KEY: app.secret ?? '' }, {
|
|
195
245
|
force: opts.force,
|
|
196
|
-
comment: `Atlas secret key for ${opts.appName} (${env}, ${app.id}). Server-side only.`,
|
|
246
|
+
comment: `Atlas secret key for ${opts.appName} (${env}, ${app.id}). Server-side only. Use it in ${env} only.`,
|
|
197
247
|
});
|
|
198
|
-
log(`Created app ${app.id}. Secret key written to ${secretFile}.`);
|
|
248
|
+
log(`Created app ${app.id}. Secret key written to ${savedAt(secretFile)}.`);
|
|
199
249
|
}
|
|
200
250
|
else {
|
|
201
251
|
log(`Found app ${app.id}.`);
|
|
202
252
|
}
|
|
203
|
-
let secretKey = (0, secrets_1.readEnvFile)(secretFile)?.ATLAS_SECRET_KEY;
|
|
253
|
+
let secretKey = handed[env]?.ATLAS_SECRET_KEY ?? (0, secrets_1.readEnvFile)(secretFile)?.ATLAS_SECRET_KEY ?? (opts.noEnvFiles ? ctx.env.ATLAS_SECRET_KEY?.trim() : undefined);
|
|
204
254
|
if (!secretKey) {
|
|
205
255
|
if (!opts.rotateSecret) {
|
|
206
256
|
throw new errors_1.CliError(`App ${app.id} exists but its secret key is not in ${secretFile}. Re-run with --rotate-secret to mint a new one (existing keys keep working for the default overlap window).`);
|
|
207
257
|
}
|
|
208
258
|
const rotated = await plat.post(`/v1/platform/apps/${app.id}/rotate_secret`, {});
|
|
209
|
-
(
|
|
259
|
+
saveSecret(layout, env, layout.key, { ATLAS_SECRET_KEY: rotated.secret }, {
|
|
210
260
|
force: true,
|
|
211
|
-
comment: `Atlas secret key for ${opts.appName} (${env}, ${app.id}). Server-side only.`,
|
|
261
|
+
comment: `Atlas secret key for ${opts.appName} (${env}, ${app.id}). Server-side only. Use it in ${env} only.`,
|
|
212
262
|
});
|
|
213
263
|
secretKey = rotated.secret;
|
|
214
264
|
const until = rotated.previous_keys_expire_at ? new Date(rotated.previous_keys_expire_at).toISOString() : 'now';
|
|
215
|
-
log(`Minted a new secret key into ${secretFile}. Previous keys stop working: ${until}.`);
|
|
265
|
+
log(`Minted a new secret key into ${savedAt(secretFile)}. Previous keys stop working: ${until}.`);
|
|
266
|
+
}
|
|
267
|
+
// --with-dev: the sibling, created with the app, or on its own for an app that already exists.
|
|
268
|
+
let devRecord;
|
|
269
|
+
if (opts.withDev) {
|
|
270
|
+
const devLayout = secretLayout(dir, 'development', true);
|
|
271
|
+
const devFile = (0, node_path_1.join)(devLayout.dir, devLayout.key);
|
|
272
|
+
let dev = app.sibling_instance ?? apps.find((a) => a.name === opts.appName && a.environment === 'development');
|
|
273
|
+
if (!dev) {
|
|
274
|
+
checkFree(devFile, opts.force);
|
|
275
|
+
dev = await plat.post('/v1/platform/apps', { name: opts.appName, environment: 'development', create_development_sibling: false });
|
|
276
|
+
}
|
|
277
|
+
if (dev.secret) {
|
|
278
|
+
saveSecret(devLayout, 'development', devLayout.key, { ATLAS_SECRET_KEY: dev.secret }, {
|
|
279
|
+
force: opts.force,
|
|
280
|
+
comment: `Atlas secret key for ${opts.appName} (development, ${dev.id}). Server-side only. Use it in development only.`,
|
|
281
|
+
});
|
|
282
|
+
log(`Development instance ${dev.id}. Secret key written to ${savedAt(devFile)}.`);
|
|
283
|
+
}
|
|
284
|
+
else if (!hasFile(devFile, 'ATLAS_SECRET_KEY')) {
|
|
285
|
+
log(`Found development instance ${dev.id}, but its secret key is not in ${devFile}. Mint one with: atlas init --product ${opts.product} --instance-env development --rotate-secret`);
|
|
286
|
+
}
|
|
287
|
+
devRecord = {
|
|
288
|
+
instance_id: dev.id,
|
|
289
|
+
environment: 'development',
|
|
290
|
+
publishable_key: dev.publishable_key,
|
|
291
|
+
frontend_api_host: dev.frontend_api_host,
|
|
292
|
+
issuer: dev.issuer ?? null,
|
|
293
|
+
discovery_url: dev.discovery_url ?? null,
|
|
294
|
+
jwks_uri: dev.jwks_uri ?? null,
|
|
295
|
+
secret_file: devFile,
|
|
296
|
+
};
|
|
216
297
|
}
|
|
217
298
|
const api = (0, project_1.httpFor)(ctx, { secretKey, apiUrl: platform.apiUrl });
|
|
218
299
|
const previous = (0, project_1.readManifest)(ctx.env, opts.product);
|
|
@@ -314,6 +395,17 @@ async function init(ctx, args) {
|
|
|
314
395
|
log('Email code / email link need the email sender: they start working as soon as it is ready.');
|
|
315
396
|
}
|
|
316
397
|
}
|
|
398
|
+
// Strict writes: a mistyped field is refused, not ignored. An explicit false is an opt-out and stays.
|
|
399
|
+
const live = await api.get('/v1/instance');
|
|
400
|
+
// The stored value, not the resolved one: resolving turns "never set" into false.
|
|
401
|
+
const strict = live.auth_config?.strictRequestBodies;
|
|
402
|
+
if (strict === false) {
|
|
403
|
+
log('This instance opted out of strict request bodies; left as it is.');
|
|
404
|
+
}
|
|
405
|
+
else if (strict !== true) {
|
|
406
|
+
await api.patch('/v1/instance', { auth_config: { strictRequestBodies: true } });
|
|
407
|
+
log('Turned on strict request bodies: an unknown field is now refused with a 422 instead of being ignored.');
|
|
408
|
+
}
|
|
317
409
|
// --- 4. custom domain ------------------------------------------------------
|
|
318
410
|
if (opts.authHost) {
|
|
319
411
|
const domains = (await api.get('/v1/domains')).data ?? [];
|
|
@@ -345,7 +437,7 @@ async function init(ctx, args) {
|
|
|
345
437
|
await api.patch(`/v1/oauth_clients/${existing.id}`, { backchannel_logout_uri: opts.backchannelUrl });
|
|
346
438
|
log(`Set the back-channel logout URI of ${existing.client_id} to ${opts.backchannelUrl}.`);
|
|
347
439
|
}
|
|
348
|
-
const hasSecret =
|
|
440
|
+
const hasSecret = hasFile(clientFile, 'ATLAS_CLIENT_SECRET');
|
|
349
441
|
if (!hasSecret)
|
|
350
442
|
log(`Its secret is not in ${clientFile}. Mint one with: atlas client rotate ${existing.id} --product ${opts.product} --instance-env ${env}`);
|
|
351
443
|
record.oauth_client = {
|
|
@@ -356,7 +448,7 @@ async function init(ctx, args) {
|
|
|
356
448
|
};
|
|
357
449
|
}
|
|
358
450
|
else {
|
|
359
|
-
|
|
451
|
+
checkFree(clientFile, opts.force);
|
|
360
452
|
const c = await api.post('/v1/oauth_clients', {
|
|
361
453
|
name: clientName,
|
|
362
454
|
redirect_uris: opts.redirects,
|
|
@@ -364,13 +456,13 @@ async function init(ctx, args) {
|
|
|
364
456
|
...(opts.backchannelUrl ? { backchannel_logout_uri: opts.backchannelUrl } : {}),
|
|
365
457
|
});
|
|
366
458
|
if (c.client_secret) {
|
|
367
|
-
(
|
|
459
|
+
saveSecret(layout, env, layout.client, { ATLAS_CLIENT_ID: c.client_id, ATLAS_CLIENT_SECRET: c.client_secret }, {
|
|
368
460
|
force: opts.force,
|
|
369
461
|
comment: `OAuth client ${c.id} for ${opts.appName} (${env}). Server-side only.`,
|
|
370
462
|
});
|
|
371
463
|
}
|
|
372
|
-
record.oauth_client = { id: c.id, client_id: c.client_id, redirect_uris: c.redirect_uris, secret_file: c.client_secret ? clientFile : null };
|
|
373
|
-
log(`Created first-party OAuth client ${c.client_id}. Secret written to ${clientFile}.`);
|
|
464
|
+
record.oauth_client = { id: c.id, client_id: c.client_id, redirect_uris: c.redirect_uris, secret_file: c.client_secret && !opts.noEnvFiles ? clientFile : null };
|
|
465
|
+
log(`Created first-party OAuth client ${c.client_id}. Secret written to ${savedAt(clientFile)}.`);
|
|
374
466
|
}
|
|
375
467
|
}
|
|
376
468
|
if (opts.backchannelUrl) {
|
|
@@ -381,21 +473,21 @@ async function init(ctx, args) {
|
|
|
381
473
|
const hooks = (await api.get('/v1/webhook_endpoints')).data ?? [];
|
|
382
474
|
const existing = hooks.find((h) => h.url === opts.webhookUrl);
|
|
383
475
|
if (existing) {
|
|
384
|
-
const hasSecret =
|
|
476
|
+
const hasSecret = hasFile(webhookFile, 'ATLAS_WEBHOOK_SECRET');
|
|
385
477
|
record.webhook = { id: existing.id, url: existing.url, secret_file: hasSecret ? webhookFile : null };
|
|
386
478
|
log(`Found webhook endpoint ${existing.id}.`);
|
|
387
479
|
}
|
|
388
480
|
else {
|
|
389
|
-
|
|
481
|
+
checkFree(webhookFile, opts.force);
|
|
390
482
|
const h = await api.post('/v1/webhook_endpoints', { url: opts.webhookUrl });
|
|
391
483
|
if (h.secret) {
|
|
392
|
-
(
|
|
484
|
+
saveSecret(layout, env, layout.webhook, { ATLAS_WEBHOOK_SECRET: h.secret }, {
|
|
393
485
|
force: opts.force,
|
|
394
486
|
comment: `Signing secret for webhook endpoint ${h.id} (${opts.webhookUrl}).`,
|
|
395
487
|
});
|
|
396
488
|
}
|
|
397
|
-
record.webhook = { id: h.id, url: h.url, secret_file: h.secret ? webhookFile : null };
|
|
398
|
-
log(`Created webhook endpoint ${h.id}. Signing secret written to ${webhookFile}.`);
|
|
489
|
+
record.webhook = { id: h.id, url: h.url, secret_file: h.secret && !opts.noEnvFiles ? webhookFile : null };
|
|
490
|
+
log(`Created webhook endpoint ${h.id}. Signing secret written to ${savedAt(webhookFile)}.`);
|
|
399
491
|
}
|
|
400
492
|
}
|
|
401
493
|
// --- 7. public endpoints, manifest, summary ----------------------------------
|
|
@@ -410,11 +502,11 @@ async function init(ctx, args) {
|
|
|
410
502
|
const manifest = {
|
|
411
503
|
product: opts.product,
|
|
412
504
|
api_url: platform.apiUrl,
|
|
413
|
-
instances: { ...(previous?.instances ?? {}), [env]: record },
|
|
505
|
+
instances: { ...(previous?.instances ?? {}), [env]: record, ...(devRecord ? { development: devRecord } : {}) },
|
|
414
506
|
};
|
|
415
507
|
const manifestFile = (0, project_1.writeManifest)(ctx.env, manifest);
|
|
416
508
|
if (json) {
|
|
417
|
-
(0, output_1.printJson)(ctx.io, { created, manifest: manifestFile, ...record });
|
|
509
|
+
(0, output_1.printJson)(ctx.io, { created, manifest: manifestFile, ...record, ...(devRecord ? { development: devRecord } : {}), ...(opts.noEnvFiles ? { secrets: handed } : {}) });
|
|
418
510
|
return 0;
|
|
419
511
|
}
|
|
420
512
|
ctx.io.out('');
|
|
@@ -431,6 +523,8 @@ async function init(ctx, args) {
|
|
|
431
523
|
ctx.io.out(` Client secret file: ${record.oauth_client.secret_file}`);
|
|
432
524
|
if (record.webhook?.secret_file)
|
|
433
525
|
ctx.io.out(` Webhook secret file: ${record.webhook.secret_file}`);
|
|
526
|
+
if (devRecord)
|
|
527
|
+
ctx.io.out(` Development key file: ${devRecord.secret_file}`);
|
|
434
528
|
ctx.io.out(` Project manifest: ${manifestFile}`);
|
|
435
529
|
ctx.io.out(`Next: atlas preflight --product ${opts.product} --instance-env ${env}, and atlas env --product ${opts.product} --format dotenv`);
|
|
436
530
|
return 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|