@portaidentity/cli 1.7.3 → 1.9.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 +18 -0
- package/README.md +125 -105
- package/dist/admin/admin-date-time.d.ts +6 -0
- package/dist/admin/admin-date-time.d.ts.map +1 -0
- package/dist/admin/admin-date-time.js +33 -0
- package/dist/admin/admin-date-time.js.map +1 -0
- package/dist/admin/application-client-features.d.ts +38 -0
- package/dist/admin/application-client-features.d.ts.map +1 -0
- package/dist/admin/application-client-features.js +545 -0
- package/dist/admin/application-client-features.js.map +1 -0
- package/dist/admin/application-controller.d.ts +58 -0
- package/dist/admin/application-controller.d.ts.map +1 -0
- package/dist/admin/application-controller.js +286 -0
- package/dist/admin/application-controller.js.map +1 -0
- package/dist/admin/application-dialogs.d.ts +91 -0
- package/dist/admin/application-dialogs.d.ts.map +1 -0
- package/dist/admin/application-dialogs.js +250 -0
- package/dist/admin/application-dialogs.js.map +1 -0
- package/dist/admin/application-rbac-controller.d.ts +56 -0
- package/dist/admin/application-rbac-controller.d.ts.map +1 -0
- package/dist/admin/application-rbac-controller.js +280 -0
- package/dist/admin/application-rbac-controller.js.map +1 -0
- package/dist/admin/application-rbac-features.d.ts +51 -0
- package/dist/admin/application-rbac-features.d.ts.map +1 -0
- package/dist/admin/application-rbac-features.js +175 -0
- package/dist/admin/application-rbac-features.js.map +1 -0
- package/dist/admin/application-rbac-workspace.d.ts +62 -0
- package/dist/admin/application-rbac-workspace.d.ts.map +1 -0
- package/dist/admin/application-rbac-workspace.js +344 -0
- package/dist/admin/application-rbac-workspace.js.map +1 -0
- package/dist/admin/application-runtime.d.ts +44 -0
- package/dist/admin/application-runtime.d.ts.map +1 -0
- package/dist/admin/application-runtime.js +183 -0
- package/dist/admin/application-runtime.js.map +1 -0
- package/dist/admin/application-service.d.ts +39 -0
- package/dist/admin/application-service.d.ts.map +1 -0
- package/dist/admin/application-service.js +248 -0
- package/dist/admin/application-service.js.map +1 -0
- package/dist/admin/application-state.d.ts +109 -0
- package/dist/admin/application-state.d.ts.map +1 -0
- package/dist/admin/application-state.js +3 -0
- package/dist/admin/application-state.js.map +1 -0
- package/dist/admin/application-workspace.d.ts +77 -0
- package/dist/admin/application-workspace.d.ts.map +1 -0
- package/dist/admin/application-workspace.js +302 -0
- package/dist/admin/application-workspace.js.map +1 -0
- package/dist/admin/application.d.ts +88 -0
- package/dist/admin/application.d.ts.map +1 -0
- package/dist/admin/application.js +932 -0
- package/dist/admin/application.js.map +1 -0
- package/dist/admin/client-authentication-dialog.d.ts +77 -0
- package/dist/admin/client-authentication-dialog.d.ts.map +1 -0
- package/dist/admin/client-authentication-dialog.js +217 -0
- package/dist/admin/client-authentication-dialog.js.map +1 -0
- package/dist/admin/client-controller.d.ts +58 -0
- package/dist/admin/client-controller.d.ts.map +1 -0
- package/dist/admin/client-controller.js +462 -0
- package/dist/admin/client-controller.js.map +1 -0
- package/dist/admin/client-credential-dialogs.d.ts +36 -0
- package/dist/admin/client-credential-dialogs.d.ts.map +1 -0
- package/dist/admin/client-credential-dialogs.js +145 -0
- package/dist/admin/client-credential-dialogs.js.map +1 -0
- package/dist/admin/client-dialogs.d.ts +64 -0
- package/dist/admin/client-dialogs.d.ts.map +1 -0
- package/dist/admin/client-dialogs.js +110 -0
- package/dist/admin/client-dialogs.js.map +1 -0
- package/dist/admin/client-form-scroller.d.ts +17 -0
- package/dist/admin/client-form-scroller.d.ts.map +1 -0
- package/dist/admin/client-form-scroller.js +67 -0
- package/dist/admin/client-form-scroller.js.map +1 -0
- package/dist/admin/client-registration-dialog.d.ts +27 -0
- package/dist/admin/client-registration-dialog.d.ts.map +1 -0
- package/dist/admin/client-registration-dialog.js +195 -0
- package/dist/admin/client-registration-dialog.js.map +1 -0
- package/dist/admin/client-service.d.ts +41 -0
- package/dist/admin/client-service.d.ts.map +1 -0
- package/dist/admin/client-service.js +486 -0
- package/dist/admin/client-service.js.map +1 -0
- package/dist/admin/client-state.d.ts +159 -0
- package/dist/admin/client-state.d.ts.map +1 -0
- package/dist/admin/client-state.js +3 -0
- package/dist/admin/client-state.js.map +1 -0
- package/dist/admin/client-workspace.d.ts +88 -0
- package/dist/admin/client-workspace.d.ts.map +1 -0
- package/dist/admin/client-workspace.js +491 -0
- package/dist/admin/client-workspace.js.map +1 -0
- package/dist/admin/delete-confirmation-layout.d.ts +38 -0
- package/dist/admin/delete-confirmation-layout.d.ts.map +1 -0
- package/dist/admin/delete-confirmation-layout.js +52 -0
- package/dist/admin/delete-confirmation-layout.js.map +1 -0
- package/dist/admin/index.d.ts +64 -0
- package/dist/admin/index.d.ts.map +1 -0
- package/dist/admin/index.js +31 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/organization-controller.d.ts +77 -0
- package/dist/admin/organization-controller.d.ts.map +1 -0
- package/dist/admin/organization-controller.js +472 -0
- package/dist/admin/organization-controller.js.map +1 -0
- package/dist/admin/organization-dialogs.d.ts +63 -0
- package/dist/admin/organization-dialogs.d.ts.map +1 -0
- package/dist/admin/organization-dialogs.js +303 -0
- package/dist/admin/organization-dialogs.js.map +1 -0
- package/dist/admin/organization-service.d.ts +110 -0
- package/dist/admin/organization-service.d.ts.map +1 -0
- package/dist/admin/organization-service.js +548 -0
- package/dist/admin/organization-service.js.map +1 -0
- package/dist/admin/organization-workspace.d.ts +29 -0
- package/dist/admin/organization-workspace.d.ts.map +1 -0
- package/dist/admin/organization-workspace.js +421 -0
- package/dist/admin/organization-workspace.js.map +1 -0
- package/dist/admin/portability-controller.d.ts +83 -0
- package/dist/admin/portability-controller.d.ts.map +1 -0
- package/dist/admin/portability-controller.js +466 -0
- package/dist/admin/portability-controller.js.map +1 -0
- package/dist/admin/portability-service.d.ts +31 -0
- package/dist/admin/portability-service.d.ts.map +1 -0
- package/dist/admin/portability-service.js +51 -0
- package/dist/admin/portability-service.js.map +1 -0
- package/dist/admin/portability-state.d.ts +88 -0
- package/dist/admin/portability-state.d.ts.map +1 -0
- package/dist/admin/portability-state.js +3 -0
- package/dist/admin/portability-state.js.map +1 -0
- package/dist/admin/portability-workspace.d.ts +78 -0
- package/dist/admin/portability-workspace.d.ts.map +1 -0
- package/dist/admin/portability-workspace.js +337 -0
- package/dist/admin/portability-workspace.js.map +1 -0
- package/dist/admin/presentation.d.ts +46 -0
- package/dist/admin/presentation.d.ts.map +1 -0
- package/dist/admin/presentation.js +271 -0
- package/dist/admin/presentation.js.map +1 -0
- package/dist/admin/rbac-dialogs.d.ts +73 -0
- package/dist/admin/rbac-dialogs.d.ts.map +1 -0
- package/dist/admin/rbac-dialogs.js +345 -0
- package/dist/admin/rbac-dialogs.js.map +1 -0
- package/dist/admin/rbac-service.d.ts +47 -0
- package/dist/admin/rbac-service.d.ts.map +1 -0
- package/dist/admin/rbac-service.js +258 -0
- package/dist/admin/rbac-service.js.map +1 -0
- package/dist/admin/rbac-state.d.ts +129 -0
- package/dist/admin/rbac-state.d.ts.map +1 -0
- package/dist/admin/rbac-state.js +136 -0
- package/dist/admin/rbac-state.js.map +1 -0
- package/dist/admin/selectable-read-only-input.d.ts +18 -0
- package/dist/admin/selectable-read-only-input.d.ts.map +1 -0
- package/dist/admin/selectable-read-only-input.js +24 -0
- package/dist/admin/selectable-read-only-input.js.map +1 -0
- package/dist/admin/session-service.d.ts +169 -0
- package/dist/admin/session-service.d.ts.map +1 -0
- package/dist/admin/session-service.js +353 -0
- package/dist/admin/session-service.js.map +1 -0
- package/dist/admin/state.d.ts +301 -0
- package/dist/admin/state.d.ts.map +1 -0
- package/dist/admin/state.js +10 -0
- package/dist/admin/state.js.map +1 -0
- package/dist/admin/system-config-controller.d.ts +58 -0
- package/dist/admin/system-config-controller.d.ts.map +1 -0
- package/dist/admin/system-config-controller.js +218 -0
- package/dist/admin/system-config-controller.js.map +1 -0
- package/dist/admin/system-config-service.d.ts +54 -0
- package/dist/admin/system-config-service.d.ts.map +1 -0
- package/dist/admin/system-config-service.js +180 -0
- package/dist/admin/system-config-service.js.map +1 -0
- package/dist/admin/system-config-state.d.ts +77 -0
- package/dist/admin/system-config-state.d.ts.map +1 -0
- package/dist/admin/system-config-state.js +78 -0
- package/dist/admin/system-config-state.js.map +1 -0
- package/dist/admin/system-config-workspace.d.ts +47 -0
- package/dist/admin/system-config-workspace.d.ts.map +1 -0
- package/dist/admin/system-config-workspace.js +217 -0
- package/dist/admin/system-config-workspace.js.map +1 -0
- package/dist/admin/user-controller-types.d.ts +67 -0
- package/dist/admin/user-controller-types.d.ts.map +1 -0
- package/dist/admin/user-controller-types.js +3 -0
- package/dist/admin/user-controller-types.js.map +1 -0
- package/dist/admin/user-controller.d.ts +6 -0
- package/dist/admin/user-controller.d.ts.map +1 -0
- package/dist/admin/user-controller.js +674 -0
- package/dist/admin/user-controller.js.map +1 -0
- package/dist/admin/user-dialog-fields.d.ts +44 -0
- package/dist/admin/user-dialog-fields.d.ts.map +1 -0
- package/dist/admin/user-dialog-fields.js +130 -0
- package/dist/admin/user-dialog-fields.js.map +1 -0
- package/dist/admin/user-dialogs.d.ts +66 -0
- package/dist/admin/user-dialogs.d.ts.map +1 -0
- package/dist/admin/user-dialogs.js +374 -0
- package/dist/admin/user-dialogs.js.map +1 -0
- package/dist/admin/user-role-controller.d.ts +82 -0
- package/dist/admin/user-role-controller.d.ts.map +1 -0
- package/dist/admin/user-role-controller.js +337 -0
- package/dist/admin/user-role-controller.js.map +1 -0
- package/dist/admin/user-role-dialog.d.ts +94 -0
- package/dist/admin/user-role-dialog.d.ts.map +1 -0
- package/dist/admin/user-role-dialog.js +265 -0
- package/dist/admin/user-role-dialog.js.map +1 -0
- package/dist/admin/user-service-types.d.ts +100 -0
- package/dist/admin/user-service-types.d.ts.map +1 -0
- package/dist/admin/user-service-types.js +3 -0
- package/dist/admin/user-service-types.js.map +1 -0
- package/dist/admin/user-service.d.ts +14 -0
- package/dist/admin/user-service.d.ts.map +1 -0
- package/dist/admin/user-service.js +612 -0
- package/dist/admin/user-service.js.map +1 -0
- package/dist/admin/user-state.d.ts +158 -0
- package/dist/admin/user-state.d.ts.map +1 -0
- package/dist/admin/user-state.js +3 -0
- package/dist/admin/user-state.js.map +1 -0
- package/dist/admin/user-workspace.d.ts +65 -0
- package/dist/admin/user-workspace.d.ts.map +1 -0
- package/dist/admin/user-workspace.js +366 -0
- package/dist/admin/user-workspace.js.map +1 -0
- package/dist/auth/browser-flow.d.ts +27 -1
- package/dist/auth/browser-flow.d.ts.map +1 -1
- package/dist/auth/browser-flow.js +55 -33
- package/dist/auth/browser-flow.js.map +1 -1
- package/dist/auth/callback-server.d.ts.map +1 -1
- package/dist/auth/callback-server.js +5 -9
- package/dist/auth/callback-server.js.map +1 -1
- package/dist/auth/id-token-verifier.d.ts +39 -0
- package/dist/auth/id-token-verifier.d.ts.map +1 -0
- package/dist/auth/id-token-verifier.js +104 -0
- package/dist/auth/id-token-verifier.js.map +1 -0
- package/dist/auth/login-coordinator.d.ts +72 -0
- package/dist/auth/login-coordinator.d.ts.map +1 -0
- package/dist/auth/login-coordinator.js +190 -0
- package/dist/auth/login-coordinator.js.map +1 -0
- package/dist/auth/metadata.d.ts +2 -1
- package/dist/auth/metadata.d.ts.map +1 -1
- package/dist/auth/metadata.js +67 -6
- package/dist/auth/metadata.js.map +1 -1
- package/dist/auth/types.d.ts +14 -0
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/client-factory.d.ts.map +1 -1
- package/dist/client-factory.js +15 -2
- package/dist/client-factory.js.map +1 -1
- package/dist/commands/admin.d.ts +22 -0
- package/dist/commands/admin.d.ts.map +1 -0
- package/dist/commands/admin.js +112 -0
- package/dist/commands/admin.js.map +1 -0
- package/dist/commands/app-claim.d.ts.map +1 -1
- package/dist/commands/app-claim.js +11 -4
- package/dist/commands/app-claim.js.map +1 -1
- package/dist/commands/app-module.d.ts.map +1 -1
- package/dist/commands/app-module.js +61 -12
- package/dist/commands/app-module.js.map +1 -1
- package/dist/commands/app-permission.d.ts.map +1 -1
- package/dist/commands/app-permission.js +66 -24
- package/dist/commands/app-permission.js.map +1 -1
- package/dist/commands/app-role.d.ts.map +1 -1
- package/dist/commands/app-role.js +48 -27
- package/dist/commands/app-role.js.map +1 -1
- package/dist/commands/app.d.ts.map +1 -1
- package/dist/commands/app.js +37 -25
- package/dist/commands/app.js.map +1 -1
- package/dist/commands/bulk.d.ts.map +1 -1
- package/dist/commands/bulk.js +9 -2
- package/dist/commands/bulk.js.map +1 -1
- package/dist/commands/client-secret.d.ts.map +1 -1
- package/dist/commands/client-secret.js +12 -6
- package/dist/commands/client-secret.js.map +1 -1
- package/dist/commands/client.d.ts +3 -2
- package/dist/commands/client.d.ts.map +1 -1
- package/dist/commands/client.js +102 -43
- package/dist/commands/client.js.map +1 -1
- package/dist/commands/config.d.ts +4 -0
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +68 -7
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/export.d.ts +6 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +182 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/import.d.ts +6 -0
- package/dist/commands/import.d.ts.map +1 -0
- package/dist/commands/import.js +142 -0
- package/dist/commands/import.js.map +1 -0
- package/dist/commands/keys.d.ts.map +1 -1
- package/dist/commands/keys.js +11 -4
- package/dist/commands/keys.js.map +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +24 -10
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/org.d.ts +2 -4
- package/dist/commands/org.d.ts.map +1 -1
- package/dist/commands/org.js +16 -76
- package/dist/commands/org.js.map +1 -1
- package/dist/commands/user-role.d.ts.map +1 -1
- package/dist/commands/user-role.js +19 -14
- package/dist/commands/user-role.js.map +1 -1
- package/dist/commands/user.d.ts +3 -2
- package/dist/commands/user.d.ts.map +1 -1
- package/dist/commands/user.js +47 -71
- package/dist/commands/user.js.map +1 -1
- package/dist/commands/version.d.ts +1 -1
- package/dist/commands/version.js +1 -1
- package/dist/credential-lock.d.ts +20 -0
- package/dist/credential-lock.d.ts.map +1 -0
- package/dist/credential-lock.js +130 -0
- package/dist/credential-lock.js.map +1 -0
- package/dist/credential-store.d.ts +14 -0
- package/dist/credential-store.d.ts.map +1 -1
- package/dist/credential-store.js +114 -3
- package/dist/credential-store.js.map +1 -1
- package/dist/error-handler.d.ts.map +1 -1
- package/dist/error-handler.js +2 -0
- package/dist/error-handler.js.map +1 -1
- package/dist/global-options.d.ts +8 -0
- package/dist/global-options.d.ts.map +1 -1
- package/dist/global-options.js +19 -8
- package/dist/global-options.js.map +1 -1
- package/dist/index.js +7 -5
- package/dist/index.js.map +1 -1
- package/dist/output.d.ts +11 -0
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +25 -6
- package/dist/output.js.map +1 -1
- package/dist/prompt.d.ts +2 -2
- package/dist/prompt.d.ts.map +1 -1
- package/dist/prompt.js +27 -7
- package/dist/prompt.js.map +1 -1
- package/package.json +7 -3
- package/dist/commands/gui.d.ts +0 -21
- package/dist/commands/gui.d.ts.map +0 -1
- package/dist/commands/gui.js +0 -67
- package/dist/commands/gui.js.map +0 -1
- package/dist/commands/provision.d.ts +0 -47
- package/dist/commands/provision.d.ts.map +0 -1
- package/dist/commands/provision.js +0 -444
- package/dist/commands/provision.js.map +0 -1
package/dist/commands/client.js
CHANGED
|
@@ -8,10 +8,11 @@
|
|
|
8
8
|
* Usage:
|
|
9
9
|
* porta client create --org <org-id> --app <app-id> --type confidential --redirect-uris "https://..." [--name "My Client"]
|
|
10
10
|
* porta client list --app <app-id> [--status active|revoked] [--page 1] [--page-size 20]
|
|
11
|
-
* porta client
|
|
11
|
+
* porta client get <client-id>
|
|
12
12
|
* porta client update <client-id> --name "New Name" [--redirect-uris "..."]
|
|
13
13
|
* porta client revoke <client-id>
|
|
14
|
-
* porta client
|
|
14
|
+
* porta client activate <client-id>
|
|
15
|
+
* porta client deactivate <client-id>
|
|
15
16
|
* porta client history <client-id>
|
|
16
17
|
* porta client login-methods get <client-id>
|
|
17
18
|
* porta client login-methods set <client-id> --methods "password,magic_link"
|
|
@@ -71,6 +72,10 @@ export const clientCommand = {
|
|
|
71
72
|
.option('login-methods', {
|
|
72
73
|
type: 'string',
|
|
73
74
|
description: 'Comma-separated login methods (password, magic_link) or "inherit" to use the org default',
|
|
75
|
+
})
|
|
76
|
+
.option('require-consent', {
|
|
77
|
+
type: 'boolean',
|
|
78
|
+
description: 'Show the consent page for this client (--no-require-consent disables it)',
|
|
74
79
|
}), async (argv) => {
|
|
75
80
|
try {
|
|
76
81
|
const loginMethods = parseLoginMethodsFlag(argv['login-methods'],
|
|
@@ -84,26 +89,36 @@ export const clientCommand = {
|
|
|
84
89
|
appId = app.id;
|
|
85
90
|
}
|
|
86
91
|
const result = await sdkClient.clients.create({
|
|
92
|
+
organizationId: argv.org,
|
|
87
93
|
applicationId: appId,
|
|
88
|
-
|
|
94
|
+
clientName: argv.name ?? 'Unnamed Client',
|
|
89
95
|
clientType: argv.type,
|
|
96
|
+
applicationType: argv['application-type'],
|
|
90
97
|
redirectUris: parseCommaSeparated(argv['redirect-uris']),
|
|
91
98
|
...(loginMethods !== undefined && { loginMethods }),
|
|
99
|
+
...(argv['require-consent'] !== undefined && {
|
|
100
|
+
requireConsent: argv['require-consent'],
|
|
101
|
+
}),
|
|
92
102
|
});
|
|
93
103
|
if (argv.json) {
|
|
94
104
|
printJson(result);
|
|
95
105
|
}
|
|
96
106
|
else {
|
|
97
|
-
|
|
107
|
+
const created = result.client;
|
|
108
|
+
success(`Client created: ${created.clientName} (${created.clientId})`);
|
|
98
109
|
printTable(['Field', 'Value'], [
|
|
99
|
-
['ID',
|
|
100
|
-
['Client ID',
|
|
101
|
-
['Name',
|
|
102
|
-
['Type',
|
|
103
|
-
['Status',
|
|
104
|
-
['Redirect URIs',
|
|
105
|
-
['Created', formatDate(
|
|
110
|
+
['ID', created.id],
|
|
111
|
+
['Client ID', created.clientId],
|
|
112
|
+
['Name', created.clientName],
|
|
113
|
+
['Type', created.clientType],
|
|
114
|
+
['Status', created.status],
|
|
115
|
+
['Redirect URIs', created.redirectUris.join(', ')],
|
|
116
|
+
['Created', formatDate(created.createdAt)],
|
|
106
117
|
]);
|
|
118
|
+
if (result.secret) {
|
|
119
|
+
warn('Copy this initial secret now. It will not be shown again.');
|
|
120
|
+
printTable(['Secret ID', 'Label', 'Plaintext'], [[result.secret.id, result.secret.label ?? '—', result.secret.plaintext]]);
|
|
121
|
+
}
|
|
107
122
|
}
|
|
108
123
|
}
|
|
109
124
|
catch (err) {
|
|
@@ -115,11 +130,11 @@ export const clientCommand = {
|
|
|
115
130
|
.option('app', {
|
|
116
131
|
type: 'string',
|
|
117
132
|
demandOption: true,
|
|
118
|
-
description: 'Application UUID
|
|
133
|
+
description: 'Application UUID',
|
|
119
134
|
})
|
|
120
135
|
.option('status', {
|
|
121
136
|
type: 'string',
|
|
122
|
-
choices: ['active', 'revoked'],
|
|
137
|
+
choices: ['active', 'inactive', 'revoked'],
|
|
123
138
|
description: 'Filter by status',
|
|
124
139
|
})
|
|
125
140
|
.option('page', {
|
|
@@ -141,7 +156,12 @@ export const clientCommand = {
|
|
|
141
156
|
...(argv.app && { applicationId: argv.app }),
|
|
142
157
|
});
|
|
143
158
|
if (result.data.length === 0) {
|
|
144
|
-
|
|
159
|
+
if (argv.json) {
|
|
160
|
+
printJson(result);
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
warn('No clients found');
|
|
164
|
+
}
|
|
145
165
|
return;
|
|
146
166
|
}
|
|
147
167
|
if (argv.json) {
|
|
@@ -151,7 +171,7 @@ export const clientCommand = {
|
|
|
151
171
|
printTable(['ID', 'Client ID', 'Name', 'Type', 'Status', 'Created'], result.data.map((c) => [
|
|
152
172
|
c.id,
|
|
153
173
|
c.clientId,
|
|
154
|
-
c.
|
|
174
|
+
c.clientName,
|
|
155
175
|
c.clientType,
|
|
156
176
|
c.status,
|
|
157
177
|
formatDate(c.createdAt),
|
|
@@ -163,11 +183,11 @@ export const clientCommand = {
|
|
|
163
183
|
handleError(err, argv.verbose);
|
|
164
184
|
}
|
|
165
185
|
})
|
|
166
|
-
// ──
|
|
167
|
-
.command('
|
|
186
|
+
// ── get ─────────────────────────────────────────────────────────
|
|
187
|
+
.command('get <client-id>', 'Get client details', (y) => y.positional('client-id', {
|
|
168
188
|
type: 'string',
|
|
169
189
|
demandOption: true,
|
|
170
|
-
description: 'Client internal UUID
|
|
190
|
+
description: 'Client internal UUID',
|
|
171
191
|
}), async (argv) => {
|
|
172
192
|
try {
|
|
173
193
|
const sdkClient = createClient(argv);
|
|
@@ -179,15 +199,26 @@ export const clientCommand = {
|
|
|
179
199
|
printTable(['Field', 'Value'], [
|
|
180
200
|
['ID', c.id],
|
|
181
201
|
['Client ID', c.clientId],
|
|
182
|
-
['Name', c.
|
|
202
|
+
['Name', c.clientName],
|
|
203
|
+
['Organization ID', c.organizationId],
|
|
204
|
+
['Application ID', c.applicationId],
|
|
183
205
|
['Type', c.clientType],
|
|
206
|
+
['Application Type', c.applicationType],
|
|
184
207
|
['Status', c.status],
|
|
185
208
|
['Redirect URIs', c.redirectUris.join(', ') || '—'],
|
|
209
|
+
['Post-logout Redirect URIs', c.postLogoutRedirectUris.join(', ') || '—'],
|
|
186
210
|
['Grant Types', c.grantTypes.join(', ')],
|
|
211
|
+
['Response Types', c.responseTypes.join(', ')],
|
|
212
|
+
['Scope', c.scope],
|
|
213
|
+
['Token Endpoint Authentication', c.tokenEndpointAuthMethod],
|
|
214
|
+
['Allowed Origins', c.allowedOrigins.join(', ') || '—'],
|
|
215
|
+
['Require PKCE', String(c.requirePkce)],
|
|
216
|
+
['Require Consent', String(c.requireConsent)],
|
|
187
217
|
[
|
|
188
|
-
'Login
|
|
218
|
+
'Login Method Override',
|
|
189
219
|
c.loginMethods === null ? 'inherit' : c.loginMethods.join(', '),
|
|
190
220
|
],
|
|
221
|
+
['Effective Login Methods', c.effectiveLoginMethods.join(', ')],
|
|
191
222
|
['Created', formatDate(c.createdAt)],
|
|
192
223
|
['Updated', formatDate(c.updatedAt)],
|
|
193
224
|
]);
|
|
@@ -202,7 +233,7 @@ export const clientCommand = {
|
|
|
202
233
|
.positional('client-id', {
|
|
203
234
|
type: 'string',
|
|
204
235
|
demandOption: true,
|
|
205
|
-
description: 'Client internal UUID
|
|
236
|
+
description: 'Client internal UUID',
|
|
206
237
|
})
|
|
207
238
|
.option('name', {
|
|
208
239
|
type: 'string',
|
|
@@ -215,6 +246,10 @@ export const clientCommand = {
|
|
|
215
246
|
.option('login-methods', {
|
|
216
247
|
type: 'string',
|
|
217
248
|
description: 'Comma-separated login methods (password, magic_link) or "inherit" to reset to org default',
|
|
249
|
+
})
|
|
250
|
+
.option('require-consent', {
|
|
251
|
+
type: 'boolean',
|
|
252
|
+
description: 'Show the consent page for this client (--no-require-consent disables it)',
|
|
218
253
|
}), async (argv) => {
|
|
219
254
|
try {
|
|
220
255
|
const loginMethods = parseLoginMethodsFlag(argv['login-methods'],
|
|
@@ -222,57 +257,81 @@ export const clientCommand = {
|
|
|
222
257
|
const sdkClient = createClient(argv);
|
|
223
258
|
const { data: current, etag } = await sdkClient.clients.get(argv['client-id']);
|
|
224
259
|
const updated = await sdkClient.clients.update(current.id, {
|
|
225
|
-
|
|
260
|
+
clientName: argv.name,
|
|
226
261
|
redirectUris: argv['redirect-uris']
|
|
227
262
|
? parseCommaSeparated(argv['redirect-uris'])
|
|
228
263
|
: undefined,
|
|
229
264
|
...(loginMethods !== undefined && { loginMethods }),
|
|
265
|
+
...(argv['require-consent'] !== undefined && {
|
|
266
|
+
requireConsent: argv['require-consent'],
|
|
267
|
+
}),
|
|
230
268
|
}, etag ?? undefined);
|
|
231
269
|
if (argv.json) {
|
|
232
270
|
printJson(updated);
|
|
233
271
|
}
|
|
234
272
|
else {
|
|
235
|
-
success(`Client updated: ${updated.
|
|
273
|
+
success(`Client updated: ${updated.clientName} (${updated.clientId})`);
|
|
236
274
|
}
|
|
237
275
|
}
|
|
238
276
|
catch (err) {
|
|
239
277
|
handleError(err, argv.verbose);
|
|
240
278
|
}
|
|
241
279
|
})
|
|
242
|
-
// ──
|
|
243
|
-
.command('
|
|
280
|
+
// ── activate ────────────────────────────────────────────────────
|
|
281
|
+
.command('activate <client-id>', 'Activate an OIDC client', (y) => y.positional('client-id', {
|
|
244
282
|
type: 'string',
|
|
245
283
|
demandOption: true,
|
|
246
|
-
description: 'Client internal UUID
|
|
284
|
+
description: 'Client internal UUID',
|
|
247
285
|
}), async (argv) => {
|
|
248
286
|
try {
|
|
249
287
|
const sdkClient = createClient(argv);
|
|
250
|
-
const { data:
|
|
288
|
+
const { data: current } = await sdkClient.clients.get(argv['client-id']);
|
|
289
|
+
await sdkClient.clients.activate(current.id);
|
|
290
|
+
success(`Client activated: ${current.clientName} (${current.clientId})`);
|
|
291
|
+
}
|
|
292
|
+
catch (err) {
|
|
293
|
+
handleError(err, argv.verbose);
|
|
294
|
+
}
|
|
295
|
+
})
|
|
296
|
+
// ── deactivate ──────────────────────────────────────────────────
|
|
297
|
+
.command('deactivate <client-id>', 'Deactivate an OIDC client', (y) => y.positional('client-id', {
|
|
298
|
+
type: 'string',
|
|
299
|
+
demandOption: true,
|
|
300
|
+
description: 'Client internal UUID',
|
|
301
|
+
}), async (argv) => {
|
|
302
|
+
try {
|
|
303
|
+
const sdkClient = createClient(argv);
|
|
304
|
+
const { data: current } = await sdkClient.clients.get(argv['client-id']);
|
|
251
305
|
if (!argv.force) {
|
|
252
|
-
const confirmed = await confirm(`
|
|
306
|
+
const confirmed = await confirm(`Deactivate client "${current.clientName}" (${current.clientId})?`);
|
|
253
307
|
if (!confirmed) {
|
|
254
308
|
warn('Operation cancelled');
|
|
255
309
|
return;
|
|
256
310
|
}
|
|
257
311
|
}
|
|
258
|
-
await sdkClient.clients.
|
|
259
|
-
success(`Client
|
|
312
|
+
await sdkClient.clients.deactivate(current.id);
|
|
313
|
+
success(`Client deactivated: ${current.clientName} (${current.clientId})`);
|
|
260
314
|
}
|
|
261
315
|
catch (err) {
|
|
262
316
|
handleError(err, argv.verbose);
|
|
263
317
|
}
|
|
264
318
|
})
|
|
265
|
-
// ──
|
|
266
|
-
.command('
|
|
319
|
+
// ── delete ──────────────────────────────────────────────────────
|
|
320
|
+
.command('delete <client-id>', 'Permanently delete a client and its credentials', (y) => y.positional('client-id', {
|
|
267
321
|
type: 'string',
|
|
268
322
|
demandOption: true,
|
|
269
|
-
description: 'Client internal UUID
|
|
323
|
+
description: 'Client internal UUID',
|
|
270
324
|
}), async (argv) => {
|
|
271
325
|
try {
|
|
272
326
|
const sdkClient = createClient(argv);
|
|
273
327
|
const { data: c } = await sdkClient.clients.get(argv['client-id']);
|
|
274
|
-
await
|
|
275
|
-
|
|
328
|
+
const confirmed = await confirm(`Keep client "${c.clientName}" (${c.clientId}), or Delete ${c.clientName}? This permanently deletes its secrets and protocol authority.`);
|
|
329
|
+
if (!confirmed) {
|
|
330
|
+
warn('Operation cancelled');
|
|
331
|
+
return;
|
|
332
|
+
}
|
|
333
|
+
await sdkClient.clients.delete(c.id);
|
|
334
|
+
success(`Client deleted: ${c.clientName} (${c.clientId})`);
|
|
276
335
|
}
|
|
277
336
|
catch (err) {
|
|
278
337
|
handleError(err, argv.verbose);
|
|
@@ -282,7 +341,7 @@ export const clientCommand = {
|
|
|
282
341
|
.command('history <client-id>', 'Show client change history', (y) => y.positional('client-id', {
|
|
283
342
|
type: 'string',
|
|
284
343
|
demandOption: true,
|
|
285
|
-
description: 'Client internal UUID
|
|
344
|
+
description: 'Client internal UUID',
|
|
286
345
|
}), async (argv) => {
|
|
287
346
|
try {
|
|
288
347
|
const sdkClient = createClient(argv);
|
|
@@ -314,7 +373,7 @@ export const clientCommand = {
|
|
|
314
373
|
.command('get <client-id>', 'Show current login methods for a client', (y) => y.positional('client-id', {
|
|
315
374
|
type: 'string',
|
|
316
375
|
demandOption: true,
|
|
317
|
-
description: 'Client internal UUID
|
|
376
|
+
description: 'Client internal UUID',
|
|
318
377
|
}), async (argv) => {
|
|
319
378
|
try {
|
|
320
379
|
const sdkClient = createClient(argv);
|
|
@@ -329,7 +388,7 @@ export const clientCommand = {
|
|
|
329
388
|
const display = c.loginMethods === null
|
|
330
389
|
? 'inherit (using org default)'
|
|
331
390
|
: c.loginMethods.join(', ');
|
|
332
|
-
info(`Login methods for ${c.
|
|
391
|
+
info(`Login methods for ${c.clientName}: ${display}`);
|
|
333
392
|
}
|
|
334
393
|
}
|
|
335
394
|
catch (err) {
|
|
@@ -341,7 +400,7 @@ export const clientCommand = {
|
|
|
341
400
|
.positional('client-id', {
|
|
342
401
|
type: 'string',
|
|
343
402
|
demandOption: true,
|
|
344
|
-
description: 'Client internal UUID
|
|
403
|
+
description: 'Client internal UUID',
|
|
345
404
|
})
|
|
346
405
|
.option('methods', {
|
|
347
406
|
type: 'string',
|
|
@@ -353,7 +412,7 @@ export const clientCommand = {
|
|
|
353
412
|
const sdkClient = createClient(argv);
|
|
354
413
|
const { data: current, etag } = await sdkClient.clients.get(argv['client-id']);
|
|
355
414
|
await sdkClient.clients.update(current.id, { loginMethods: loginMethods ?? undefined }, etag ?? undefined);
|
|
356
|
-
success(`Login methods set for ${current.
|
|
415
|
+
success(`Login methods set for ${current.clientName}: ${argv.methods}`);
|
|
357
416
|
}
|
|
358
417
|
catch (err) {
|
|
359
418
|
handleError(err, argv.verbose);
|
|
@@ -363,13 +422,13 @@ export const clientCommand = {
|
|
|
363
422
|
.command('clear <client-id>', 'Clear login method overrides (inherit from org)', (y) => y.positional('client-id', {
|
|
364
423
|
type: 'string',
|
|
365
424
|
demandOption: true,
|
|
366
|
-
description: 'Client internal UUID
|
|
425
|
+
description: 'Client internal UUID',
|
|
367
426
|
}), async (argv) => {
|
|
368
427
|
try {
|
|
369
428
|
const sdkClient = createClient(argv);
|
|
370
429
|
const { data: current, etag } = await sdkClient.clients.get(argv['client-id']);
|
|
371
430
|
await sdkClient.clients.update(current.id, { loginMethods: null }, etag ?? undefined);
|
|
372
|
-
success(`Login methods cleared for ${current.
|
|
431
|
+
success(`Login methods cleared for ${current.clientName} (will inherit from org)`);
|
|
373
432
|
}
|
|
374
433
|
catch (err) {
|
|
375
434
|
handleError(err, argv.verbose);
|
|
@@ -379,7 +438,7 @@ export const clientCommand = {
|
|
|
379
438
|
})
|
|
380
439
|
// ── nested subcommand groups ────────────────────────────────────
|
|
381
440
|
.command(clientSecretCommand)
|
|
382
|
-
.demandCommand(1, 'Specify a client subcommand: create, list,
|
|
441
|
+
.demandCommand(1, 'Specify a client subcommand: create, list, get, update, activate, deactivate, delete, history, login-methods, secret'));
|
|
383
442
|
},
|
|
384
443
|
handler: () => {
|
|
385
444
|
// No-op — subcommands handle execution
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/commands/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/commands/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,5 +10,9 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import type { CommandModule } from 'yargs';
|
|
12
12
|
import type { GlobalOptions } from '../global-options.js';
|
|
13
|
+
/**
|
|
14
|
+
* Existing list/get/set commands over the closed, metadata-driven operational catalog.
|
|
15
|
+
* @example porta config set magic_link_ttl 1200
|
|
16
|
+
*/
|
|
13
17
|
export declare const configCommand: CommandModule<GlobalOptions, GlobalOptions>;
|
|
14
18
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAkE1D;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,aAAa,EAAE,aAAa,CAmHrE,CAAC"}
|
package/dist/commands/config.js
CHANGED
|
@@ -9,11 +9,53 @@
|
|
|
9
9
|
* @module commands/config
|
|
10
10
|
*/
|
|
11
11
|
import { createClient } from '../client-factory.js';
|
|
12
|
-
import { handleError } from '../error-handler.js';
|
|
13
|
-
import { printTable, printJson, success, formatDate } from '../output.js';
|
|
12
|
+
import { handleError, EXIT_VALIDATION_ERROR } from '../error-handler.js';
|
|
13
|
+
import { printTable, printJson, success, formatDate, error, info } from '../output.js';
|
|
14
14
|
// ---------------------------------------------------------------------------
|
|
15
15
|
// Command
|
|
16
16
|
// ---------------------------------------------------------------------------
|
|
17
|
+
/** Display the server's accepted range or exact string choices without copying policy. */
|
|
18
|
+
function allowedValues(entry) {
|
|
19
|
+
return entry.valueType === 'integer'
|
|
20
|
+
? `${entry.minimum}–${entry.maximum}`
|
|
21
|
+
: (entry.allowedValues ?? []).join(', ');
|
|
22
|
+
}
|
|
23
|
+
/** Render native scalar values as text only at the existing terminal-output boundary. */
|
|
24
|
+
function entryRow(entry) {
|
|
25
|
+
return [
|
|
26
|
+
entry.key,
|
|
27
|
+
String(entry.value),
|
|
28
|
+
entry.valueType,
|
|
29
|
+
entry.unit,
|
|
30
|
+
allowedValues(entry),
|
|
31
|
+
entry.applicationMode,
|
|
32
|
+
formatDate(entry.updatedAt),
|
|
33
|
+
];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Parse a positional value using authoritative metadata, never JavaScript's permissive coercion.
|
|
37
|
+
* Undefined means invalid; callers must not issue an update in that case.
|
|
38
|
+
* Bounds are checked here for helpful feedback and again by the server for authorization safety.
|
|
39
|
+
*/
|
|
40
|
+
function parseValue(entry, text) {
|
|
41
|
+
if (entry.valueType === 'string') {
|
|
42
|
+
return entry.allowedValues?.some((allowed) => allowed === text) ? text : undefined;
|
|
43
|
+
}
|
|
44
|
+
if (!/^[+-]?\d+$/.test(text))
|
|
45
|
+
return undefined;
|
|
46
|
+
const value = Number(text);
|
|
47
|
+
if (!Number.isSafeInteger(value) ||
|
|
48
|
+
entry.minimum === undefined ||
|
|
49
|
+
entry.maximum === undefined ||
|
|
50
|
+
value < entry.minimum ||
|
|
51
|
+
value > entry.maximum)
|
|
52
|
+
return undefined;
|
|
53
|
+
return value;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Existing list/get/set commands over the closed, metadata-driven operational catalog.
|
|
57
|
+
* @example porta config set magic_link_ttl 1200
|
|
58
|
+
*/
|
|
17
59
|
export const configCommand = {
|
|
18
60
|
command: 'config',
|
|
19
61
|
describe: 'Manage system configuration',
|
|
@@ -27,7 +69,7 @@ export const configCommand = {
|
|
|
27
69
|
printJson(entries);
|
|
28
70
|
return;
|
|
29
71
|
}
|
|
30
|
-
printTable(['Key', 'Value', '
|
|
72
|
+
printTable(['Key', 'Value', 'Type', 'Unit', 'Allowed', 'Application mode', 'Updated'], entries.map(entryRow));
|
|
31
73
|
}
|
|
32
74
|
catch (err) {
|
|
33
75
|
handleError(err, argv.verbose);
|
|
@@ -46,7 +88,16 @@ export const configCommand = {
|
|
|
46
88
|
printJson(entry);
|
|
47
89
|
return;
|
|
48
90
|
}
|
|
49
|
-
printTable([
|
|
91
|
+
printTable([
|
|
92
|
+
'Key',
|
|
93
|
+
'Value',
|
|
94
|
+
'Type',
|
|
95
|
+
'Unit',
|
|
96
|
+
'Allowed',
|
|
97
|
+
'Application mode',
|
|
98
|
+
'Updated',
|
|
99
|
+
'Description',
|
|
100
|
+
], [[...entryRow(entry), entry.description]]);
|
|
50
101
|
}
|
|
51
102
|
catch (err) {
|
|
52
103
|
handleError(err, argv.verbose);
|
|
@@ -66,12 +117,22 @@ export const configCommand = {
|
|
|
66
117
|
}), async (argv) => {
|
|
67
118
|
try {
|
|
68
119
|
const client = createClient(argv);
|
|
69
|
-
const entry = await client.config.
|
|
120
|
+
const entry = await client.config.get(argv.key);
|
|
121
|
+
const value = parseValue(entry, argv.value);
|
|
122
|
+
if (value === undefined) {
|
|
123
|
+
error(`Expected ${entry.valueType} (${entry.unit}): ${allowedValues(entry)}.`);
|
|
124
|
+
process.exitCode = EXIT_VALIDATION_ERROR;
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
const result = await client.config.set(entry.key, value);
|
|
70
128
|
if (argv.json) {
|
|
71
|
-
printJson(
|
|
129
|
+
printJson(result);
|
|
72
130
|
return;
|
|
73
131
|
}
|
|
74
|
-
success(`Set ${
|
|
132
|
+
success(`Set ${result.data.key} = ${result.data.value}`);
|
|
133
|
+
if (result.restartRequired) {
|
|
134
|
+
info('Restart every Porta server instance to apply this change.');
|
|
135
|
+
}
|
|
75
136
|
}
|
|
76
137
|
catch (err) {
|
|
77
138
|
handleError(err, argv.verbose);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** Conventional command for exporting selective Porta portability manifests. */
|
|
2
|
+
import type { CommandModule } from 'yargs';
|
|
3
|
+
import type { GlobalOptions } from '../global-options.js';
|
|
4
|
+
/** Export selected Porta data to one local JSON file. */
|
|
5
|
+
export declare const exportCommand: CommandModule<GlobalOptions, GlobalOptions>;
|
|
6
|
+
//# sourceMappingURL=export.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAShF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAgI1D,yDAAyD;AACzD,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,aAAa,EAAE,aAAa,CAgFrE,CAAC"}
|