rockcarver / frodo-lib

A library to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.
MIT License
9 stars 18 forks source link

Application Object Imports into "Catalyst" Fail #71

Closed jclayton40 closed 2 years ago

jclayton40 commented 2 years ago

Frodo CLI version

Provide output of frodo -v v0.10.4 [ v16.15.1]

Describe the issue

When attempting to import a single application.json into a "managed instance', the following error appears:

jeffrey.clayton@XCV46WH966 Downloads % frodo application import -f ~/Environments/ni-demo/application/RCSClient.oauth2.app.json $target $realm $user $pass ForgeOps deployment detected. Connected to ForgeRock Access Management 7.1.0 Build 4e72fe392c000b0a15027eb41267d01bfd2d2220 (2021-May-10 11:40) Importing OAuth2 application(s) ... [UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "AxiosError: Request failed with status code 500".] { code: 'ERR_UNHANDLED_REJECTION'

vscheuber commented 2 years ago

Hi @jclayton40 , can you reproduce the issue with the latest frodo version (latest: v0.12.3 next: v0.12.4-1)?

jclayton40 commented 2 years ago

Just updated and still have the issue

vscheuber commented 2 years ago

Duped with:

cli: v0.12.4-1
lib: v0.12.2-1
node: v18.7.0

The issue appears to be that Catalyst deployments use transport keys and thus AM returns encrypted passwords with the data. On import, though, AM throws a message-less 500 error when trying to import an export that contains passwords that were encrypted with a different transport key (exported from a different environment). Frodo already removes encrypted passwords on import from other objects but not from oauth2 clients.