chore(deps): update dependency @rockcarver/frodo-lib to v2.0.0 (main) #397
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.0.0-71->2.0.0By merging this PR, the below vulnerabilities will be automatically resolved:
Release Notes
rockcarver/frodo-lib (@rockcarver/frodo-lib)
v2.0.0Compare Source
Changed
Multi-Instantiability
2.x introduces breaking changes to support multiple instances of the library to run concurrently and connect to multiple different Ping Identity Platform instances at the same time. 1.x operates using a global singleton, making it impossible to connect to more than one platform instance at a time.
New Library Structure
Removing the singleton pattern and introducing multi-instantiability forced a radical redesign of the core library functions while striving to maintain the basic usage pattern. The library is now exposing two main types describing its modules (Frodo) and state (State). Each module in turn exports all its collection of functions as a type as well. Exposing the library structure as types enables auto-completion for both JS and TS developers with properly configured IDEs like Visual Studio Code or other and also serves as an abstraction layer between what the library exposes vs what and how it's implemented.
New
FrodoErrorClassAll the errors thrown by the library are of the class
FrodoError, introduced in 2.x. The new error class addresses the following challenges of earlier library versions:Allows applications using the library to determine if the error originated in the library or is an unexpected and unhandled error from deeper down the stack.
Nesting of errors:
When the library throws because it caught an error thrown deeper down the stack, it wraps the caught
Errorin aFrodoError.Nesting of arrays of errors
The library supports many operation that require a number of actions to occur in a row or in parallel. Often these operations are REST API calls and any of those calls may fail for any reason. To preserve status of every operation,
FrodoErrorcan also wrap an array of errors, each of which may be another instance ofFrodoErrorwrapping an individual or an array of errors.Provides a stack-like combined error message concatenating the messages of all wrapped errors and nested errors.
Includes standardized fields to surface network errors in case the
Erroron top of the stack is anAxiosError.The new
printErrorfunction recognizesFrodoErrorand prints a uniformly formatted expression of the error including an interpretation of the fields for network stack errors.New Modules
The following modules have been updated and/or added since 1.x:
Secure Token Caching
The 2.x version of the library uses a secure token cache, which is active by default. The cache makes it so that when the
frodo.login.getTokens()method is called, available tokens are updated instatefrom cache and if none are available, they are obtained from the instance configured instate. The cache is tokenized and encrypted on disk, so it persists across library instantiations. You can disable the cache by either setting theFRODO_NO_CACHEenvironment variable or by callingstate.setUseTokenCache(false)from your application.You can change the default location of the cache file (
~/.frodo/TokenCache.json) by either setting theFRODO_TOKEN_CACHE_PATHenvironment variable or by callingstate.setTokenCachePath('/path/to/cache.json').Automatic Token Refresh
The 2.x version of the library automatically refreshes session and access tokens before they expire. Combined with the new token cache, the library will maintain a set of valid tokens in
stateat all times until it is shut down. If you do not want to automatically refresh tokens, set theautoRefreshparameter (2nd param) of yourfrodo.login.getTokens()call tofalse.Node.js Versions
Considerations
Platform Passwords And Secrets
Platform passwords and secrets are configuration values that are stored encrypted as part of platform configuration. Examples are oauth2 client secrets or service account passwords.
Frodo generally doesn't export platform passwords and secrets. The platform supports configuration placeholders and environment secrets and variables allowing administrators to separate the functional configuration from sensitive secrets and variable configuration values.
frodoassumes administrators take full advantage of these capabilities so that there is no need or expectation that exports include passwords and secrets. However, where the APIs support it, administrators can seed import data with raw secrets andfrodowill import them.Advanced Identity Cloud Environment Secrets And Variables (ESVs)
Frodo supports exporting and importing of ESV secret values. To leave stuartship of secret values with the cloud environment where they belong, frodo always encrypts values using either encryption keys from the source environment (default) or the target environment. Frodo never exports secrets in the clear.
v2.0.0-96Compare Source
v2.0.0-95Compare Source
v2.0.0-94Compare Source
v2.0.0-93Compare Source
v2.0.0-92Compare Source
Added
Fixed
v2.0.0-91Compare Source
v2.0.0-90Compare Source
v2.0.0-89Compare Source
Added
base64aesencoding for ESV secretsv2.0.0-88Compare Source
Changed
v2.0.0-87Compare Source
Changed
v2.0.0-86Compare Source
Changed
v2.0.0-85Compare Source
Changed
v2.0.0-84Compare Source
Changed
v2.0.0-83Compare Source
Fixed
v2.0.0-82Compare Source
v2.0.0-81Compare Source
v2.0.0-80Compare Source
v2.0.0-79Compare Source
v2.0.0-78Compare Source
v2.0.0-77Compare Source
Fixed
v2.0.0-76Compare Source
Fixed
frodo.config.exportFullConfigurationandfrodo.config.importFullConfigurationv2.0.0-75Compare Source
Fixed
frodo conn savecommandv2.0.0-74Compare Source
Fixed
fr:am:*fr:idc:analytics:*fr:autoaccess:*fr:idc:certificate:*fr:idc:certificate:readfr:idc:content-security-policy:*fr:idc:custom-domain:*fr:idc:esv:*fr:idc:esv:readfr:idc:esv:restartfr:idc:esv:updatefr:idm:*fr:iga:*fr:idc:promotion:*fr:idc:release:*fr:idc:sso-cookie:*v2.0.0-73Compare Source
Fixed
FrodoErrorfor all ops layer errors.v2.0.0-72Compare Source