@maronn-openid-connect/cli 0.4.0 → 0.5.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.
Files changed (39) hide show
  1. package/README.md +47 -0
  2. package/dist/features.d.ts +5 -3
  3. package/dist/features.d.ts.map +1 -1
  4. package/dist/features.js +11 -0
  5. package/dist/features.js.map +1 -1
  6. package/dist/frameworks/express/index.d.ts.map +1 -1
  7. package/dist/frameworks/express/index.js +1 -1
  8. package/dist/frameworks/express/index.js.map +1 -1
  9. package/dist/frameworks/fastify/index.d.ts.map +1 -1
  10. package/dist/frameworks/fastify/index.js +1 -1
  11. package/dist/frameworks/fastify/index.js.map +1 -1
  12. package/dist/frameworks/hono/index.d.ts.map +1 -1
  13. package/dist/frameworks/hono/index.js +21 -8
  14. package/dist/frameworks/hono/index.js.map +1 -1
  15. package/dist/frameworks/hono/templates.d.ts +15 -8
  16. package/dist/frameworks/hono/templates.d.ts.map +1 -1
  17. package/dist/frameworks/hono/templates.js +10652 -7792
  18. package/dist/frameworks/hono/templates.js.map +1 -1
  19. package/dist/frameworks/nextjs/index.d.ts.map +1 -1
  20. package/dist/frameworks/nextjs/index.js +1 -1
  21. package/dist/frameworks/nextjs/index.js.map +1 -1
  22. package/dist/frameworks/types.d.ts +1 -0
  23. package/dist/frameworks/types.d.ts.map +1 -1
  24. package/dist/frameworks/web-standard/templates.d.ts +5 -5
  25. package/dist/frameworks/web-standard/templates.d.ts.map +1 -1
  26. package/dist/frameworks/web-standard/templates.js +162 -35
  27. package/dist/frameworks/web-standard/templates.js.map +1 -1
  28. package/dist/generator.d.ts +1 -0
  29. package/dist/generator.d.ts.map +1 -1
  30. package/dist/generator.js +2 -2
  31. package/dist/generator.js.map +1 -1
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +33 -3
  34. package/dist/index.js.map +1 -1
  35. package/dist/scopes.d.ts +5 -0
  36. package/dist/scopes.d.ts.map +1 -0
  37. package/dist/scopes.js +38 -0
  38. package/dist/scopes.js.map +1 -0
  39. package/package.json +4 -3
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@ import { writeFileSync, readFileSync, mkdirSync, existsSync } from 'node:fs';
3
3
  import { join, dirname, relative, resolve } from 'node:path';
4
4
  import { generate, getAvailableFrameworks } from './generator.js';
5
5
  import { AVAILABLE_FEATURES, EXPERIMENTAL_FEATURES, OPTIONAL_FEATURES, resolveFeatures, } from './features.js';
6
+ import { resolveCustomScopes } from './scopes.js';
6
7
  const INSTALL_COMMANDS = {
7
8
  hono: 'pnpm add hono @maronn-openid-connect/core',
8
9
  express: 'pnpm add express @maronn-openid-connect/core && pnpm add -D @types/express',
@@ -15,7 +16,9 @@ function withExperimentalPackage(installCommand, features) {
15
16
  !features.tokenExchange &&
16
17
  !features.jarm &&
17
18
  !features.deviceAuthorizationGrant &&
18
- !features.idJag) {
19
+ !features.idJag &&
20
+ !features.ciba &&
21
+ !features.jwtIntrospectionResponse) {
19
22
  return installCommand;
20
23
  }
21
24
  return installCommand.replace('@maronn-openid-connect/core', `@maronn-openid-connect/core ${EXPERIMENTAL_PACKAGE}`);
@@ -49,6 +52,7 @@ Options:
49
52
  --entry, -e <file> Entry file to patch with OIDC setup (setup command only, default: ./src/index.ts)
50
53
  --enable <features> Comma-separated features to enable (repeatable)
51
54
  --disable <features> Comma-separated features to remove from the default set (repeatable)
55
+ --scope <scopes> Comma-separated custom scopes the provider accepts (repeatable)
52
56
  --help, -h Show this help message
53
57
 
54
58
  Features (all enabled by default): ${features}
@@ -61,6 +65,16 @@ Optional features (disabled by default): ${optionalFeatures}
61
65
  Experimental features (disabled by default): ${experimentalFeatures}
62
66
  Provided by the separate ${EXPERIMENTAL_PACKAGE} package. APIs are unstable
63
67
  and may change in a breaking way. Enable one with, e.g.: --enable par
68
+
69
+ Custom scopes (none declared by default): the standard scopes (openid, profile,
70
+ email, address, phone, offline_access) are always handled by the generated
71
+ provider. Declare anything else with --scope, e.g.:
72
+ --scope reports.read,reports.write
73
+ The declared scopes are advertised in scopes_supported, and a request for a
74
+ value that was never declared is rejected with invalid_scope. Which End-User
75
+ may be granted which scope is left to the generated code: scopes.ts holds
76
+ resolveGrantableScopes(), already wired into consent, SSO, prompt=none and the
77
+ device / CIBA approvals, as the one place to write that filtering.
64
78
  `);
65
79
  }
66
80
  function parseArgs(args) {
@@ -70,6 +84,7 @@ function parseArgs(args) {
70
84
  let entryFile = './src/index.ts';
71
85
  const enable = [];
72
86
  const disable = [];
87
+ const scope = [];
73
88
  let help = false;
74
89
  const splitFeatureList = (value) => (value ?? '').split(',').map((f) => f.trim()).filter((f) => f.length > 0);
75
90
  for (let i = 0; i < args.length; i++) {
@@ -93,6 +108,12 @@ function parseArgs(args) {
93
108
  i++;
94
109
  disable.push(...splitFeatureList(args[i]));
95
110
  }
111
+ else if (arg === '--scope') {
112
+ i++;
113
+ const value = args[i];
114
+ if (value !== undefined)
115
+ scope.push(value);
116
+ }
96
117
  else if (!command) {
97
118
  command = arg;
98
119
  }
@@ -100,7 +121,7 @@ function parseArgs(args) {
100
121
  framework = arg;
101
122
  }
102
123
  }
103
- return { command, framework, outputDir, entryFile, enable, disable, help };
124
+ return { command, framework, outputDir, entryFile, enable, disable, scope, help };
104
125
  }
105
126
  function writeGeneratedFiles(outputDir, files) {
106
127
  for (const file of files) {
@@ -189,10 +210,12 @@ export function run(args) {
189
210
  enable: parsed.enable,
190
211
  disable: parsed.disable,
191
212
  });
213
+ const scopes = resolveCustomScopes({ scope: parsed.scope });
192
214
  const result = generate({
193
215
  framework: parsed.framework,
194
216
  outputDir: parsed.outputDir,
195
217
  features,
218
+ scopes,
196
219
  });
197
220
  console.log(`\nGenerating ${result.framework} OIDC Provider code...\n`);
198
221
  const disabledFeatures = AVAILABLE_FEATURES.filter((name) => parsed.disable.includes(name));
@@ -208,6 +231,12 @@ export function run(args) {
208
231
  console.log(`Experimental features enabled: ${enabledExperimental.join(', ')}`);
209
232
  console.log(`Warning: experimental features are provided by ${EXPERIMENTAL_PACKAGE} and their APIs may change in a breaking way.\n`);
210
233
  }
234
+ if (scopes.length > 0) {
235
+ console.log(`Custom scopes: ${scopes.join(', ')}`);
236
+ console.log('A scope that was not declared is now rejected with invalid_scope. Write per-End-User\n' +
237
+ 'filtering in resolveGrantableScopes() (scopes.ts); it is already wired into every step\n' +
238
+ 'that decides a grant.\n');
239
+ }
211
240
  writeGeneratedFiles(parsed.outputDir, result.files);
212
241
  console.log(`\nDone! Generated ${result.files.length} files in ${parsed.outputDir}`);
213
242
  if (parsed.command === 'setup') {
@@ -228,7 +257,8 @@ export function run(args) {
228
257
  if (features.par ||
229
258
  features.tokenExchange ||
230
259
  features.jarm ||
231
- features.deviceAuthorizationGrant) {
260
+ features.deviceAuthorizationGrant ||
261
+ features.ciba) {
232
262
  console.log(` 4. Install the experimental package: pnpm add ${EXPERIMENTAL_PACKAGE}`);
233
263
  console.log(` 5. Start the server\n`);
234
264
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare const RESERVED_SCOPES: readonly ['openid', 'profile', 'email', 'address', 'phone', 'offline_access'];
2
+ export declare function resolveCustomScopes(options: {
3
+ scope?: string[];
4
+ }): string[];
5
+ //# sourceMappingURL=scopes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../src/scopes.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,eAAe,YAC1B,QAAQ,EACR,SAAS,EACT,OAAO,EACP,SAAS,EACT,OAAO,EACP,gBAAgB,CACR,CAAC;AA+BX,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,MAAM,EAAE,CAgB3E"}
package/dist/scopes.js ADDED
@@ -0,0 +1,38 @@
1
+ export const RESERVED_SCOPES = [
2
+ 'openid',
3
+ 'profile',
4
+ 'email',
5
+ 'address',
6
+ 'phone',
7
+ 'offline_access',
8
+ ];
9
+ const SCOPE_TOKEN_PATTERN = /^[\x21\x23-\x5B\x5D-\x7E]+$/;
10
+ function assertValidScopeName(name) {
11
+ if (!SCOPE_TOKEN_PATTERN.test(name)) {
12
+ throw new Error(`Invalid scope value for --scope: "${name}". A scope must match RFC 6749 §3.3 ` +
13
+ 'scope-token (printable ASCII without space, \'"\' or \'\\\').');
14
+ }
15
+ if (RESERVED_SCOPES.includes(name)) {
16
+ throw new Error(`Scope "${name}" is a standard scope handled by the generated provider and cannot be ` +
17
+ `declared with --scope. Standard scopes: ${RESERVED_SCOPES.join(', ')}`);
18
+ }
19
+ }
20
+ export function resolveCustomScopes(options) {
21
+ const declared = [];
22
+ for (const value of options.scope ?? []) {
23
+ const names = value
24
+ .split(',')
25
+ .map((name) => name.trim())
26
+ .filter((name) => name.length > 0);
27
+ if (names.length === 0) {
28
+ throw new Error('--scope requires at least one scope name');
29
+ }
30
+ for (const name of names) {
31
+ assertValidScopeName(name);
32
+ if (!declared.includes(name))
33
+ declared.push(name);
34
+ }
35
+ }
36
+ return declared;
37
+ }
38
+ //# sourceMappingURL=scopes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopes.js","sourceRoot":"","sources":["../src/scopes.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,OAAO;IACP,gBAAgB;CACR,CAAC;AAOX,MAAM,mBAAmB,GAAG,6BAA6B,CAAC;AAE1D,SAAS,oBAAoB,CAAC,IAAY;IACxC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,qCAAqC,IAAI,sCAAsC;YAC7E,+DAA+D,CAClE,CAAC;IACJ,CAAC;IACD,IAAK,eAAqC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CACb,UAAU,IAAI,wEAAwE;YACpF,2CAA2C,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1E,CAAC;IACJ,CAAC;AACH,CAAC;AASD,MAAM,UAAU,mBAAmB,CAAC,OAA6B;IAC/D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,KAAK;aAChB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maronn-openid-connect/cli",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "CLI tool to generate OpenID Connect Provider code",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -40,8 +40,9 @@
40
40
  },
41
41
  "homepage": "https://github.com/maronnjapan/maronn-openid-connect/tree/main/packages/cli#readme",
42
42
  "devDependencies": {
43
- "typescript": "^5.7.2",
44
- "vitest": "^3.2.6"
43
+ "@types/node": "^26.2.0",
44
+ "typescript": "^7.0.2",
45
+ "vitest": "^4.1.11"
45
46
  },
46
47
  "scripts": {
47
48
  "build": "tsc",