adobe / aio-cli-plugin-cloudmanager

Cloud Manager plugin for the Adobe I/O CLI
Apache License 2.0
46 stars 33 forks source link

AccessToken is always stored in global config below the IMS context #697

Open kwin opened 3 months ago

kwin commented 3 months ago

When using a local .aio config file similar to what is outlined in https://github.com/adobe/aio-cli-plugin-cloudmanager?tab=readme-ov-file#setup-for-oauth-integration with aio config:set ims.contexts.aio-cli-plugin-cloudmanager PATH_TO_CONFIG_JSON_FILE --file --json --local I expect that the accessToken which is retrieved is also stored locally, however this is persisted in the global aio config due to https://github.com/adobe/aio-lib-ims/issues/67 like this.

ims: {
    contexts: {
      aio-cli-plugin-cloudmanager: {
       ... 
       // duplicated service credentials from the local .aoi file
        ...
        access_token: {
          token: "<mytoken>,
          expiry: ...
        }
      },

In order to be able to easily switch between different credentials/organization just using the local AIO config (https://github.com/adobe/aio-lib-core-config/tree/master?tab=readme-ov-file#project-configuration) is not enough. Instead one currently has to use dedicated/unique IMS context names and always pass that via imsContextName to each aio cloudmanager command as workaround.

Please document that limitation in the readme and try to fix the upstream bug in https://github.com/adobe/aio-lib-ims/issues/67.

kwin commented 1 month ago

The bug has been fixed upstream. Updating to aio-lib-ims (https://github.com/adobe/aio-cli-plugin-cloudmanager/blob/96fed0e71a7320dd9e3b7aee5288850b980a2fe8/package.json#L13) 7.0.2 or newer would fix this.