@rockcarver/frodo-cli 4.0.1-1 → 4.0.1
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 +104 -107
- package/dist/app.cjs +3 -3
- package/dist/app.cjs.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- Updated journey commands to work correctly with frodo-lib 4.0.1 export format changes (PR #629).
|
|
13
|
+
- Improved `frodo journey list`, `frodo journey describe`, and journey export flows to more reliably return the requested journey when processing multi-journey export data (PR #629).
|
|
14
|
+
- Improved journey dependency handling for exports/imports involving nested trees referenced by Backchannel Initialize nodes via frodo-lib 4.0.1 (PR #595).
|
|
15
|
+
- The latest CLI is now based on `@rockcarver/frodo-lib` `4.0.1`.
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- Added script filtering options for bulk script operations (PR #627):
|
|
20
|
+
- `frodo script list --language <language> --context <context> --evaluator-version <version>`
|
|
21
|
+
- `frodo script export -a/-A --language <language> --context <context> --evaluator-version <version>`
|
|
22
|
+
- `frodo script delete -a --language <language> --context <context> --evaluator-version <version>`
|
|
23
|
+
- Added support for combining script filters so you can narrow bulk list/export/delete operations to only the scripts you intend to target (PR #627).
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- Improved service-account authentication reliability for hosts that include explicit default ports, avoiding JWT audience mismatches during token requests via frodo-lib 4.0.1 (PR #591).
|
|
28
|
+
- Improved connection/runtime compatibility for standalone AM environments with incomplete `serverinfo` payloads by using more resilient version parsing via frodo-lib 4.0.1 (PR #594).
|
|
29
|
+
- Fixed secret export behavior when active values are requested but `Use in Placeholders` is disabled: CLI flows now skip incompatible active-value reads instead of failing via frodo-lib 4.0.1 (PR #592).
|
|
30
|
+
|
|
31
|
+
## [4.0.1-1] - 2026-07-16
|
|
32
|
+
|
|
10
33
|
## [4.0.1-0] - 2026-07-16
|
|
11
34
|
|
|
12
35
|
## [4.0.0] - 2026-07-14
|
|
@@ -31,8 +54,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
31
54
|
- Additionally, journeys were updated to include custom node dependencies during exports. Even if a journey is exported with Frodo and contains these dependencies in the export JSON, they can still be imported into AIC/AM using the admin UI as it should ignore the custom node dependencies (since AIC/AM doesn't support exporting them yet).
|
|
32
55
|
- Added `--retry <strategy>` option to all commands to control automatic retry of failed operations. Valid values for strategy:
|
|
33
56
|
- everything: Retry all failed operations.
|
|
34
|
-
- network:
|
|
35
|
-
- nothing:
|
|
57
|
+
- network: Retry only network-related failed operations.
|
|
58
|
+
- nothing: Do not retry failed operations (this is the default modus operandi).
|
|
36
59
|
- Added the ability to authenticate to an AM classic deployment using Amster credentials (i.e. a public/private key pair). The private key can be in a variety of formats such as PKCS, JWK, and OpenSSH, but is ultimately stored in PKCS#8 format. You can also use encrypted private keys by providing the passphrase when creating the connection profile.
|
|
37
60
|
- Added secret store command coverage, including secret store mapping and alias sub-commands.
|
|
38
61
|
- Added `frodo mcp ...` commands for Model Context Protocol server management.
|
|
@@ -171,7 +194,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
171
194
|
|
|
172
195
|
### Fixed
|
|
173
196
|
|
|
174
|
-
- \#XXX:
|
|
197
|
+
- \#XXX:
|
|
175
198
|
|
|
176
199
|
## [4.0.0-3] - 2026-02-04
|
|
177
200
|
|
|
@@ -190,7 +213,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
190
213
|
|
|
191
214
|
### Fixed
|
|
192
215
|
|
|
193
|
-
- \#XXX:
|
|
216
|
+
- \#XXX:
|
|
194
217
|
|
|
195
218
|
## [4.0.0-2] - 2026-01-27
|
|
196
219
|
|
|
@@ -210,7 +233,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
210
233
|
|
|
211
234
|
### Fixed
|
|
212
235
|
|
|
213
|
-
- \#XXX:
|
|
236
|
+
- \#XXX:
|
|
214
237
|
|
|
215
238
|
## [3.1.1-1] - 2026-01-25
|
|
216
239
|
|
|
@@ -320,7 +343,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
320
343
|
|
|
321
344
|
- Update to frodo-lib 3.0.0
|
|
322
345
|
- Fixes and improvements to imports and exports:
|
|
323
|
-
|
|
324
346
|
- Fixed an issue with file paths on the Windows version of Frodo that was causing errors on imports due to the differences between Windows and Linux file paths.
|
|
325
347
|
- **_BREAKING_**: Updated IDM exports to be formatted the same as normal exports instead of as raw data by putting the raw data into a type object. This included changing the names of the exports to have a type ‘idm’, such as ‘sync.idm.json’ instead of ‘sync.json’, in order to reflect this change.
|
|
326
348
|
- Added option to import an entity from a single file from the full export using the -f flag in the config import command.
|
|
@@ -354,23 +376,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
354
376
|
### Added
|
|
355
377
|
|
|
356
378
|
- Improve support for custom platform deployments (non-forgeops or customized forgeops)
|
|
357
|
-
|
|
358
379
|
- \#429: Added options to support custom oauth2 clients used to obtain the access token for IDM API calls:
|
|
359
|
-
|
|
360
380
|
- `--login-client-id <client-id>` Specify a custom OAuth2 client id to use a your own oauth2 client for IDM API calls in deployments of type "cloud" or "forgeops". Your custom client must be configured as a public client and allow the authorization code grant using the "openid fr:idm:\*" scope. Use the "--redirect-uri" parameter if you have configured a custom redirect uri (default: "<host>/platform/appAuthHelperRedirect.html").
|
|
361
381
|
- `--login-redirect-uri <redirect-uri>` Specify a custom redirect URI to use with your custom OAuth2 client (efault: "<host>/platform/appAuthHelperRedirect.html").
|
|
362
382
|
|
|
363
383
|
The above options can also be supplied through environment variables:
|
|
364
|
-
|
|
365
384
|
- `FRODO_LOGIN_CLIENT_ID` OAuth2 client id for IDM API calls. Overridden by '--login-client-id' option.
|
|
366
385
|
- `FRODO_LOGIN_REDIRECT_URI` Redirect Uri for custom OAuth2 client id. Overridden by '--login-redirect-uri' option.
|
|
367
386
|
|
|
368
387
|
- \#359: Added an option to support custom IDM host URLs for all IDM API calls (e.g. platform deployments hosting AM and IDM on/in different DNS hosts/domains):
|
|
369
|
-
|
|
370
388
|
- `--idm-host <idm-host>` IDM base URL, e.g.: <https://cdk.idm.example.com/myidm>. Use only if your IDM installation resides in a different domain and/or if the base path differs from the default "/openidm".
|
|
371
389
|
|
|
372
390
|
The above option can also be supplied through an environment variable:
|
|
373
|
-
|
|
374
391
|
- `FRODO_IDM_HOST` IDM base URL. Overridden by '--idm-host' option.
|
|
375
392
|
|
|
376
393
|
**_Note:_** All the above options are also persisted in connection profiles so they only have to specified once and after that they come out of the connection profile.
|
|
@@ -384,7 +401,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
384
401
|
### Added
|
|
385
402
|
|
|
386
403
|
- Improvements to the `frodo script` commands:
|
|
387
|
-
|
|
388
404
|
- Added the `-i`/`--script-id` option to import and export scripts by id.
|
|
389
405
|
- Added the `--no-deps` option to not include library scripts in exports of single scripts. Similarly adds the option on single script imports using the same flag to not import library dependencies if so desired.
|
|
390
406
|
|
|
@@ -395,7 +411,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
395
411
|
### Fixed
|
|
396
412
|
|
|
397
413
|
- Fixes to the handling of scripts in the `frodo script` commands and the `frodo config import` command:
|
|
398
|
-
|
|
399
414
|
- Fixing many bugs related to script extraction. For example, there were certain cases where importing wouldn't function correctly due to being unable to find the extracted script(s). For exports, library scripts weren't being extracted correctly either. Therefore, an overhaul was done to try and help simplify the extraction process to that it can work for multiple scripts if dealing with library scripts both on export and import.
|
|
400
415
|
- Fixing many errors in the watch option for script imports. One big one was if there were several scripts for a single json file (e.g. when exporting scripts with library scripts) that only one of the scripts would correctly be watched. This was fixed by creating mappings before watching begins to map extracted script files with their corresponding json files so it functions correctly.
|
|
401
416
|
- Fixing a small bug with config imports where, if the working directory started with `.` or `./` it would usually fail due to being unable to locate the expected files it was looking for.
|
|
@@ -684,13 +699,12 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
684
699
|
### Added
|
|
685
700
|
|
|
686
701
|
- New commands to manage IDM mappings:
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
- `
|
|
690
|
-
- `
|
|
691
|
-
- `
|
|
692
|
-
- `
|
|
693
|
-
- `rename` Renames mappings from the combined/default/legacy naming scheme (sync/\\<name>) to the separate/new naming scheme (mapping/\\<name>). To rename mappings from new back to legacy, use the -l, --legacy flag.
|
|
702
|
+
- `frodo mapping` Manage IDM mappings.
|
|
703
|
+
- `delete` Delete IDM mappings.
|
|
704
|
+
- `export` Export IDM mappings.
|
|
705
|
+
- `import` Import IDM mappings.
|
|
706
|
+
- `list` List IDM mappings.
|
|
707
|
+
- `rename` Renames mappings from the combined/default/legacy naming scheme (sync/\\<name>) to the separate/new naming scheme (mapping/\\<name>). To rename mappings from new back to legacy, use the -l, --legacy flag.
|
|
694
708
|
|
|
695
709
|
## [2.0.0-66] - 2024-07-10
|
|
696
710
|
|
|
@@ -715,15 +729,12 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
715
729
|
- `frodo esv secret import`
|
|
716
730
|
|
|
717
731
|
- Frodo now supports exporting (and importing) of ESV secret values. To leave stuartship of secret values with the cloud environment where they belong, frodo will always encrypt values using either encryption keys from the source environment (default) or the target environment (export option). Frodo will never export secrets in the clear. However, frodo supports importing clear values (as well as importing encrypted values). Use these new commands and parameters to export/import variables and secrets including secret values:
|
|
718
|
-
|
|
719
732
|
- New parameters for existing `frodo esv secret export` and `frodo config export` commands:
|
|
720
|
-
|
|
721
733
|
- `--include-active-values` Include the currently active (and loaded) secret value in the export. By default, secret values are encrypted server-side in the environment they are exported from. Use `--target <host url>` to have another environment perform the encryption.
|
|
722
734
|
|
|
723
735
|
- `--target <host url>` Host URL of the environment to perform secret value encryption. The URL must resolve to an existing connection profile. Use this option to generate an export that can be imported into the target environment without requiring admin access to the source environment.
|
|
724
736
|
|
|
725
737
|
- New `frodo esv secret import` and updated existing `frodo config import` command and note-worthy parameters:
|
|
726
|
-
|
|
727
738
|
- `--include-active-values` Import any secret values contained in the import file. By default, secret values are encrypted server-side in the environment they are exported from. Use `--source <host url>` to import a file exported from another environment than the one you are importing to.
|
|
728
739
|
|
|
729
740
|
- `--source <host url>` Host URL of the environment which performed secret value encryption. The URL must resolve to an existing connection profile. Use this option to import a file that was exported from a different source environment than the one you are importing to.
|
|
@@ -901,14 +912,12 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
901
912
|
### Added
|
|
902
913
|
|
|
903
914
|
- \#283: Support for authentication settings:
|
|
904
|
-
|
|
905
|
-
- `frodo authn` Manage authentication setting.
|
|
915
|
+
- `frodo authn` Manage authentication setting.
|
|
906
916
|
- `describe` List authentication settings.
|
|
907
|
-
- `export`
|
|
908
|
-
- `import`
|
|
917
|
+
- `export` Export authentication settings.
|
|
918
|
+
- `import` Import authentication settings.
|
|
909
919
|
|
|
910
920
|
Examples:
|
|
911
|
-
|
|
912
921
|
- Describe authentication settings:<br>
|
|
913
922
|
`frodo authn describe <myTenant> <realm>`
|
|
914
923
|
|
|
@@ -938,14 +947,12 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
938
947
|
### Added
|
|
939
948
|
|
|
940
949
|
- rockcarver/frodo-lib#53: Frodo Library now uses a file-based secure token cache to persist session and access tokens for re-use. The cached tokens are protected by the credential that was used to obtain them. Session tokens are encrypted using the hashed password as the master key, access tokens are encrypted using the hashed JWK private key as the master key. Therefore only users and processes with the correct credentials can access the tokens in the cache.
|
|
941
|
-
|
|
942
950
|
- The new default behavior is for Frodo CLI to use the new token cache for all applicable commands.
|
|
943
951
|
- A new global option `--no-cache` has been added to all commands to allow disabling the cache for indiviual invocations.
|
|
944
952
|
- A new environment variable `FRODO_NO_CACHE` is available to globally turn off token caching.
|
|
945
953
|
- A new environment variable `FRODO_TOKEN_CACHE_PATH` is available to instruct Frodo Library to use a non-default token cache file.
|
|
946
954
|
|
|
947
955
|
- rockcarver/frodo-lib#340: Frodo Library now autotomatically refreshes expired session and access tokens.
|
|
948
|
-
|
|
949
956
|
- The new default behavior is for Frodo CLI to automatically refresh tokens. This will only ever be noticeable during long-running operations like `frodo journey prune` or `frodo esv apply` that can take longer than 15 mins to complete.
|
|
950
957
|
|
|
951
958
|
### Fixed
|
|
@@ -1013,22 +1020,22 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
1013
1020
|
### Added
|
|
1014
1021
|
|
|
1015
1022
|
- \#251: Support for Identity Cloud admin federation configuration:
|
|
1016
|
-
|
|
1017
1023
|
- `frodo admin federation` Manage admin federation configuration.
|
|
1018
|
-
- `export`
|
|
1019
|
-
- `import`
|
|
1020
|
-
- `list`
|
|
1024
|
+
- `export` Export admin federation providers.
|
|
1025
|
+
- `import` Import admin federation providers.
|
|
1026
|
+
- `list` List admin federation providers.
|
|
1021
1027
|
|
|
1022
1028
|
Examples:
|
|
1023
|
-
|
|
1024
1029
|
- List all configured admin federation providers:<br>
|
|
1025
1030
|
`frodo admin federation list <myTenant>`
|
|
1026
1031
|
|
|
1027
1032
|
`frodo admin federation list <myTenant> <username> <password>`
|
|
1033
|
+
|
|
1028
1034
|
- Export all admin federation providers to a single file:<br>
|
|
1029
1035
|
`frodo admin federation export -a <myTenant>`
|
|
1030
1036
|
|
|
1031
1037
|
`frodo admin federation export -a <myTenant> <username> <password>`
|
|
1038
|
+
|
|
1032
1039
|
- Import all admin federation providers from a single file:<br>
|
|
1033
1040
|
`frodo admin federation import -a -f allProviders.admin.federation.json <myTenant>`
|
|
1034
1041
|
|
|
@@ -1056,22 +1063,22 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
1056
1063
|
|
|
1057
1064
|
- MacOS binaries are now signed and notarized and run without security exceptions.
|
|
1058
1065
|
- \#251: Support for Identity Cloud admin federation configuration:
|
|
1059
|
-
|
|
1060
1066
|
- `frodo admin federation` Manage admin federation configuration.
|
|
1061
|
-
- `export`
|
|
1062
|
-
- `import`
|
|
1063
|
-
- `list`
|
|
1067
|
+
- `export` Export admin federation providers.
|
|
1068
|
+
- `import` Import admin federation providers.
|
|
1069
|
+
- `list` List admin federation providers.
|
|
1064
1070
|
|
|
1065
1071
|
Examples:
|
|
1066
|
-
|
|
1067
1072
|
- List all configured admin federation providers:<br>
|
|
1068
1073
|
`frodo admin federation list <myTenant>`
|
|
1069
1074
|
|
|
1070
1075
|
`frodo admin federation list <myTenant> <username> <password>`
|
|
1076
|
+
|
|
1071
1077
|
- Export all admin federation providers to a single file:<br>
|
|
1072
1078
|
`frodo admin federation export -a <myTenant>`
|
|
1073
1079
|
|
|
1074
1080
|
`frodo admin federation export -a <myTenant> <username> <password>`
|
|
1081
|
+
|
|
1075
1082
|
- Import all admin federation providers from a single file:<br>
|
|
1076
1083
|
`frodo admin federation import -a -f allProviders.admin.federation.json <myTenant>`
|
|
1077
1084
|
|
|
@@ -1094,22 +1101,22 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
1094
1101
|
### Added
|
|
1095
1102
|
|
|
1096
1103
|
- \#251: Support for Identity Cloud admin federation configuration:
|
|
1097
|
-
|
|
1098
1104
|
- `frodo admin federation` Manage admin federation configuration.
|
|
1099
|
-
- `export`
|
|
1100
|
-
- `import`
|
|
1101
|
-
- `list`
|
|
1105
|
+
- `export` Export admin federation providers.
|
|
1106
|
+
- `import` Import admin federation providers.
|
|
1107
|
+
- `list` List admin federation providers.
|
|
1102
1108
|
|
|
1103
1109
|
Examples:
|
|
1104
|
-
|
|
1105
1110
|
- List all configured admin federation providers:<br>
|
|
1106
1111
|
`frodo admin federation list <myTenant>`
|
|
1107
1112
|
|
|
1108
1113
|
`frodo admin federation list <myTenant> <username> <password>`
|
|
1114
|
+
|
|
1109
1115
|
- Export all admin federation providers to a single file:<br>
|
|
1110
1116
|
`frodo admin federation export -a <myTenant>`
|
|
1111
1117
|
|
|
1112
1118
|
`frodo admin federation export -a <myTenant> <username> <password>`
|
|
1119
|
+
|
|
1113
1120
|
- Import all admin federation providers from a single file:<br>
|
|
1114
1121
|
`frodo admin federation import -a -f allProviders.admin.federation.json <myTenant>`
|
|
1115
1122
|
|
|
@@ -1152,28 +1159,26 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
1152
1159
|
### Added
|
|
1153
1160
|
|
|
1154
1161
|
- Support for authorization policies, policy sets, and resource types through new `authz` commands:
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
- `
|
|
1158
|
-
- `
|
|
1159
|
-
- `
|
|
1160
|
-
- `
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
- `
|
|
1164
|
-
- `
|
|
1165
|
-
- `
|
|
1166
|
-
- `
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
- `
|
|
1170
|
-
- `
|
|
1171
|
-
- `
|
|
1172
|
-
- `
|
|
1173
|
-
- `list` List authorization policies.
|
|
1162
|
+
- `frodo authz type` Manage authorization resource types.
|
|
1163
|
+
- `delete` Delete authorization resource types.
|
|
1164
|
+
- `describe` Describe authorization resource types.
|
|
1165
|
+
- `export` Export authorization resource types.
|
|
1166
|
+
- `import` Import authorization resource types.
|
|
1167
|
+
- `list` List authorization resource types.
|
|
1168
|
+
- `frodo authz set` Manage authorization policy sets.
|
|
1169
|
+
- `delete` Delete authorization policy sets.
|
|
1170
|
+
- `describe` Describe authorization policy sets.
|
|
1171
|
+
- `export` Export authorization policy sets.
|
|
1172
|
+
- `import` Import authorization policy sets.
|
|
1173
|
+
- `list` List authorization policy sets.
|
|
1174
|
+
- `frodo authz policy` Manage authorization policies.
|
|
1175
|
+
- `delete` Delete authorization policies.
|
|
1176
|
+
- `describe` Describe authorization policies.
|
|
1177
|
+
- `export` Export authorization policies.
|
|
1178
|
+
- `import` Import authorization policies.
|
|
1179
|
+
- `list` List authorization policies.
|
|
1174
1180
|
|
|
1175
1181
|
Examples:
|
|
1176
|
-
|
|
1177
1182
|
- Export a whole policy set including policies and resource types:<br>
|
|
1178
1183
|
`frodo authz set export -i <myPolicySet> <myTenant>`
|
|
1179
1184
|
- Import a whole policy set including dependencies exported using the previous example:<br>
|
|
@@ -1187,7 +1192,6 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
1187
1192
|
**_Note_**: Policy IDs/names have to be unique within the realm. Therefore you cannot export all policies from one policy set and import them into another policy set in the same realm without deleting the original policy set first.
|
|
1188
1193
|
|
|
1189
1194
|
Notes:
|
|
1190
|
-
|
|
1191
1195
|
- Use the new `--prereqs` option with the `authz set/policy import/export` commands to include structural prerequisites like resource types and policy sets.
|
|
1192
1196
|
- Use the new `--json` option with all `describe` sub-commands:<br>
|
|
1193
1197
|
`frodo authz type describe --json -n URL <myTenant>`<br>
|
|
@@ -1328,11 +1332,9 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
1328
1332
|
### Added
|
|
1329
1333
|
|
|
1330
1334
|
- \#52: Added new developer options for `script export` and `script import` commands:
|
|
1331
|
-
|
|
1332
1335
|
- `frodo script export`:
|
|
1333
1336
|
- `-x`, `--extract`: Extract the script from the exported file, and save it to a separate file. Ignored with `-n` or `-a`.
|
|
1334
1337
|
- `frodo script import`:
|
|
1335
|
-
|
|
1336
1338
|
- `-w`, `--watch`: Watch for changes to the script files and import the scripts automatically when the file changes. Can only be used with `-A`. (default: false)
|
|
1337
1339
|
|
|
1338
1340
|
**_Note:_** This new option only applies if the export was generated with the new `--extract` option!
|
|
@@ -1373,56 +1375,52 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
1373
1375
|
### Added
|
|
1374
1376
|
|
|
1375
1377
|
- Full support for Identity Cloud Service Accounts across all commands. Three options to leverage service accounts:
|
|
1378
|
+
1. Connection profiles for daily CLI usage:
|
|
1376
1379
|
|
|
1377
|
-
|
|
1380
|
+
For daily admin and development tasks, using the new `frodo conn save` command (see details under next bullet) is the easiest way to get going with service accounts. To migrate an existing connection profile to service accounts and automatically create a service account for your tenant admin, simply issue the following command:
|
|
1378
1381
|
|
|
1379
|
-
|
|
1382
|
+
% frodo conn save service-accounts
|
|
1383
|
+
Connected to https://openam-service-accounts.forgeblocks.com/am [alpha] as user volker.scheuber@forgerock.com
|
|
1384
|
+
Created and added service account Frodo-SA-1673586189578 with id 99c04bba-7213-463b-9a27-ceafa8a95734 to profile.
|
|
1385
|
+
Saved connection profile https://openam-service-accounts.forgeblocks.com/am
|
|
1386
|
+
%
|
|
1380
1387
|
|
|
1381
|
-
|
|
1382
|
-
Connected to https://openam-service-accounts.forgeblocks.com/am [alpha] as user volker.scheuber@forgerock.com
|
|
1383
|
-
Created and added service account Frodo-SA-1673586189578 with id 99c04bba-7213-463b-9a27-ceafa8a95734 to profile.
|
|
1384
|
-
Saved connection profile https://openam-service-accounts.forgeblocks.com/am
|
|
1385
|
-
%
|
|
1388
|
+
Then validate your connection profile is using the new service account:
|
|
1386
1389
|
|
|
1387
|
-
|
|
1390
|
+
% frodo info service-accounts
|
|
1391
|
+
Connected to https://openam-service-accounts.forgeblocks.com/am [alpha] as service account Frodo-SA-1673586189578 [99c04bba-7213-463b-9a27-ceafa8a95734]
|
|
1388
1392
|
|
|
1389
|
-
|
|
1390
|
-
|
|
1393
|
+
Host URL │https://openam-service-accounts.forgeblocks.com/am
|
|
1394
|
+
AM Version │7.3.0-2022-10-SNAPSHOT Build 9a1793c301ef579705e59b66ce57587f553e915f (2022-December-13 10:05)
|
|
1395
|
+
Subject (Type) │Frodo-SA-1673586189578 [99c04bba-7213-463b-9a27-ceafa8a95734] (Service Account)
|
|
1396
|
+
Deployment Type│cloud
|
|
1397
|
+
Cookie Name │e8b2bd07d5440d3
|
|
1398
|
+
Immutable │false
|
|
1399
|
+
Locked │false
|
|
1400
|
+
Region │us-west1
|
|
1401
|
+
Tier │other
|
|
1391
1402
|
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
Deployment Type│cloud
|
|
1396
|
-
Cookie Name │e8b2bd07d5440d3
|
|
1397
|
-
Immutable │false
|
|
1398
|
-
Locked │false
|
|
1399
|
-
Region │us-west1
|
|
1400
|
-
Tier │other
|
|
1403
|
+
Bearer token:
|
|
1404
|
+
eyJ0eXAiOiJKV1QiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..JD1iu64iGZZoGNwEr-iF2w.af-0-UDDOdusAETjw9YE3YnjOPr6TrdQrBLcl1lxf5RpNThfRhD08xvu1WtJbUZgvjbWdajECEFJfnEinnrUdpe9l0tHU6gAxDrRmu9hAjt0AB3PFSk9BE5SlwvaGoW5vrF4oH0IYtuv4899hFF8KGNYUtou143xmSrsLH37862YiAeiRKtjaQsVUrdbDPAFnKgGRxJIiXp-UE0ZCQQGSqm-Gj0AqVvo-Piib9THrEbbJCzdc00RPaCU2Ra1DH9PDid7ix-zfuind5IgEXxA8XwBM7kSEkiDLUWZ8EaFhn6YXwIHjXetacgYvvDaUav2Fq5baIitnG_LIrCm32XzcDkVnph4mVklBwfbQbWE6BGXEVLK-QLdDupaQw-bic-yVs2d7PBk2y70gbChHCQOm6-MepkYznP4wKoRR1gkqCdl51QIp-tsFB5K2plrKXiwsfHlHKfFKmsbdQUmH7xJFZQRhAtR_pKm-vHPOrPfBh0VbAdLRSkSeOZUABFH56X3gwXIpG_zuH42bQQkM9AlkB-lZrLf4jN0zFq-2ZN-zDgRR9h6qiiD3p9BDmFfaorUDTfFSrfaKas7OIp5ooW8Kqpv28RRtRtvfex0vT_kRbWl5R08MPWZDKZbx4IMyuun-2pYJ-F2-dvfA4A-jRvWIvC6jTUTu-RZZ0Yw1F2lgwFOVbmpMmG2uGHp5GceWePsZ34FVtJuaTd5D-uq_FoAb3HQ7FGEgUMJN_q82hCCX3URv_ocbFMjYwctdUqV_Ed-__A_9lbHHr8D2Uw_Qo0mwku7qwNBTS0-OcrwDvBOJohzRbpbfim-Sq2UzV9SBzzXNK7sMft1pNfu2-saOwPfy6SE0u42-HDqxE9t4MkklSroPY0oDUxO58ET8LXnewGhC9Tt0XTk6WA2rNLcNirhFqdmtKgfrSMQ_t22_DQEDwXpXqtHGmDoltJe7x_6Ofh0W5l7_A71MoHeFpVa_AHpHybnaF4fvUbD284wOV8i22SqrUKuHoJ3o6_g5JlhvMCvb4OZQ-ltxSf98aPsB9nCSthYg5-GkiR_r5mK1w9gZkBTXfYs0qC8-zYEQb4WNiI9.2JGMj9iW6YD-RE_dGkL7_w
|
|
1405
|
+
%
|
|
1401
1406
|
|
|
1402
|
-
|
|
1403
|
-
eyJ0eXAiOiJKV1QiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..JD1iu64iGZZoGNwEr-iF2w.af-0-UDDOdusAETjw9YE3YnjOPr6TrdQrBLcl1lxf5RpNThfRhD08xvu1WtJbUZgvjbWdajECEFJfnEinnrUdpe9l0tHU6gAxDrRmu9hAjt0AB3PFSk9BE5SlwvaGoW5vrF4oH0IYtuv4899hFF8KGNYUtou143xmSrsLH37862YiAeiRKtjaQsVUrdbDPAFnKgGRxJIiXp-UE0ZCQQGSqm-Gj0AqVvo-Piib9THrEbbJCzdc00RPaCU2Ra1DH9PDid7ix-zfuind5IgEXxA8XwBM7kSEkiDLUWZ8EaFhn6YXwIHjXetacgYvvDaUav2Fq5baIitnG_LIrCm32XzcDkVnph4mVklBwfbQbWE6BGXEVLK-QLdDupaQw-bic-yVs2d7PBk2y70gbChHCQOm6-MepkYznP4wKoRR1gkqCdl51QIp-tsFB5K2plrKXiwsfHlHKfFKmsbdQUmH7xJFZQRhAtR_pKm-vHPOrPfBh0VbAdLRSkSeOZUABFH56X3gwXIpG_zuH42bQQkM9AlkB-lZrLf4jN0zFq-2ZN-zDgRR9h6qiiD3p9BDmFfaorUDTfFSrfaKas7OIp5ooW8Kqpv28RRtRtvfex0vT_kRbWl5R08MPWZDKZbx4IMyuun-2pYJ-F2-dvfA4A-jRvWIvC6jTUTu-RZZ0Yw1F2lgwFOVbmpMmG2uGHp5GceWePsZ34FVtJuaTd5D-uq_FoAb3HQ7FGEgUMJN_q82hCCX3URv_ocbFMjYwctdUqV_Ed-__A_9lbHHr8D2Uw_Qo0mwku7qwNBTS0-OcrwDvBOJohzRbpbfim-Sq2UzV9SBzzXNK7sMft1pNfu2-saOwPfy6SE0u42-HDqxE9t4MkklSroPY0oDUxO58ET8LXnewGhC9Tt0XTk6WA2rNLcNirhFqdmtKgfrSMQ_t22_DQEDwXpXqtHGmDoltJe7x_6Ofh0W5l7_A71MoHeFpVa_AHpHybnaF4fvUbD284wOV8i22SqrUKuHoJ3o6_g5JlhvMCvb4OZQ-ltxSf98aPsB9nCSthYg5-GkiR_r5mK1w9gZkBTXfYs0qC8-zYEQb4WNiI9.2JGMj9iW6YD-RE_dGkL7_w
|
|
1404
|
-
%
|
|
1407
|
+
Once you have verified that your service account works, go ahead and enable MFA for your tenant admin account!
|
|
1405
1408
|
|
|
1406
|
-
|
|
1409
|
+
2. CLI parameters:
|
|
1407
1410
|
|
|
1408
|
-
|
|
1411
|
+
All commands support the following new options to use service accounts:
|
|
1412
|
+
- `--sa-id <uuid>` Service account's uuid. If specified, must also include `--sa-jwk-file`.
|
|
1413
|
+
- `--sa-jwk-file <file>` File containing the service account's java web key (jwk). Jwk must contain private key! If specified, must also include `--sa-id`.
|
|
1409
1414
|
|
|
1410
|
-
|
|
1415
|
+
This is a great way to leverage the nice UI to create and manage service accounts and then use one of the accounts with Frodo.
|
|
1411
1416
|
|
|
1412
|
-
|
|
1413
|
-
- `--sa-jwk-file <file>` File containing the service account's java web key (jwk). Jwk must contain private key! If specified, must also include `--sa-id`.
|
|
1417
|
+
3. Environment variables for CI/CD
|
|
1414
1418
|
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
For CI/CD pipelines, environment variables are preferable over command line parameters, because they are not visible in system logs:
|
|
1420
|
-
|
|
1421
|
-
- `FRODO_SA_ID`: Service account's uuid. If set, must also set `FRODO_SA_JWK`.
|
|
1422
|
-
- `FRODO_SA_JWK`: Service account's java web key (jwk) as single-line string. Jwk must contain private key! If set, must also set `FRODO_SA_ID`.
|
|
1419
|
+
For CI/CD pipelines, environment variables are preferable over command line parameters, because they are not visible in system logs:
|
|
1420
|
+
- `FRODO_SA_ID`: Service account's uuid. If set, must also set `FRODO_SA_JWK`.
|
|
1421
|
+
- `FRODO_SA_JWK`: Service account's java web key (jwk) as single-line string. Jwk must contain private key! If set, must also set `FRODO_SA_ID`.
|
|
1423
1422
|
|
|
1424
1423
|
- \#143: Support Identity Cloud Service Accounts in `frodo conn save|add` command
|
|
1425
|
-
|
|
1426
1424
|
1. The `frodo conn add` command is renamed to `frodo conn save` and `add` is added as an alias for backwards compatibility.
|
|
1427
1425
|
2. The `frodo conn save` command supports the following new options to manage service accounts:
|
|
1428
1426
|
1. `--sa-id <uuid>` Service account's uuid. If specified, must also include `--sa-jwk-file`. Ignored with `--no-sa`.
|
|
@@ -1435,7 +1433,6 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
1435
1433
|
5. The `frodo conn save` command validates service account configuration unless the `--no-validate` options is supplied.
|
|
1436
1434
|
|
|
1437
1435
|
- Add support for additional environment variables:
|
|
1438
|
-
|
|
1439
1436
|
- `FRODO_SA_ID`: Service account's uuid. If set, must also set `FRODO_SA_JWK`.
|
|
1440
1437
|
- `FRODO_SA_JWK`: Service account's java web key (jwk) as single-line string. Jwk must contain private key! If set, must also set `FRODO_SA_ID`.
|
|
1441
1438
|
- `FRODO_AUTHENTICATION_SERVICE=journey`: Specify a login journey for frodo to use.
|
|
@@ -1443,7 +1440,6 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
1443
1440
|
- `FRODO_POLLY_LOG_LEVEL=info`: Frodo mock engine log level (`trace`, `debug`, `info`, `warn`, `error`, `silent`). This is helpful for troubleshooting the mock capability, only.
|
|
1444
1441
|
|
|
1445
1442
|
Environment variables added in 0.19.0:
|
|
1446
|
-
|
|
1447
1443
|
- `FRODO_HOST`
|
|
1448
1444
|
- `FRODO_REALM`
|
|
1449
1445
|
- `FRODO_USERNAME`
|
|
@@ -2316,7 +2312,8 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
2316
2312
|
- Fixed problem with adding connection profiles
|
|
2317
2313
|
- Miscellaneous bug fixes
|
|
2318
2314
|
|
|
2319
|
-
[unreleased]: https://github.com/rockcarver/frodo-cli/compare/v4.0.1-
|
|
2315
|
+
[unreleased]: https://github.com/rockcarver/frodo-cli/compare/v4.0.1-1...HEAD
|
|
2316
|
+
[4.0.1-1]: https://github.com/rockcarver/frodo-cli/compare/v4.0.1-0...v4.0.1-1
|
|
2320
2317
|
[4.0.1-0]: https://github.com/rockcarver/frodo-cli/compare/v4.0.0...v4.0.1-0
|
|
2321
2318
|
[4.0.0]: https://github.com/rockcarver/frodo-cli/compare/v4.0.0-54...v4.0.0
|
|
2322
2319
|
[4.0.0-54]: https://github.com/rockcarver/frodo-cli/compare/v4.0.0-53...v4.0.0-54
|
package/dist/app.cjs
CHANGED
|
@@ -156058,7 +156058,7 @@ function stringify(obj) {
|
|
|
156058
156058
|
}
|
|
156059
156059
|
var package_default = {
|
|
156060
156060
|
name: "@rockcarver/frodo-lib",
|
|
156061
|
-
version: "4.0.1
|
|
156061
|
+
version: "4.0.1",
|
|
156062
156062
|
type: "commonjs",
|
|
156063
156063
|
main: "./dist/index.js",
|
|
156064
156064
|
module: "./dist/index.mjs",
|
|
@@ -288277,7 +288277,7 @@ var compareVersions = (v12, v2) => {
|
|
|
288277
288277
|
// package.json
|
|
288278
288278
|
var package_default2 = {
|
|
288279
288279
|
name: "@rockcarver/frodo-cli",
|
|
288280
|
-
version: "4.0.1
|
|
288280
|
+
version: "4.0.1",
|
|
288281
288281
|
type: "module",
|
|
288282
288282
|
description: "A command line interface to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.",
|
|
288283
288283
|
keywords: [
|
|
@@ -288381,7 +288381,7 @@ var package_default2 = {
|
|
|
288381
288381
|
},
|
|
288382
288382
|
devDependencies: {
|
|
288383
288383
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
288384
|
-
"@rockcarver/frodo-lib": "4.0.1
|
|
288384
|
+
"@rockcarver/frodo-lib": "4.0.1",
|
|
288385
288385
|
"@types/colors": "^1.2.1",
|
|
288386
288386
|
"@types/fs-extra": "^11.0.1",
|
|
288387
288387
|
"@types/jest": "^29.2.3",
|