CLI tool to login and interact with the IMS API.
The results of the command will be written to stdout, allowing it to be redirected to a file or an env var.
Any other output like verbose output or errors will be sent to stderr to not interfere with the token.
The command will return 0 in case of success or 1 in case of an error.
imscli login will negotiate an access token with IMS following the specified flow.
This command will launch a browser and execute the normal OAuth2 flow done by users when log into IMS to use a service.
The imscli client will exchange client credentials and an additional service token to obtain the access token.
It is used to access an "Application", an Adobe API exposed through Adobe I/O Gateway.
This command will build a JWT will all specified claims, sign it with a private key and exchange it for an access token.
It is used for "Adobe I/O" integrations.
Generate a script to enable autocompletion for imscli.
To configure bash, add the following line to your .bashrc (or alternative config file):
eval "$(imscli autocompletion bash)"
Provided a user's access token, gathers the user profile.
Provided a user's access token, gathers the user organizations.
Performs the "cluster authorization token exchange flow", exchanging a valid access token for another access token for the same user in a different IMS Org.
Validates a token using the IMS API.
Invalidates a token using the IMS API.
Usage is defined by what the CLI libraries Cobra and Viper support.
There are three sources of parameters, listed from higher to lower priority.
The three source of parameters can be combined, priority will be taken in account in case of overlap.
Direct CLI parameters, with extensive documentation executing each subcommand with --help.
imscli login user --scopes AdobeID,openid,session
Each parameter can be provided using the flag name and the IMS_ suffix.
IMS_SCOPES="AdobeID,openid,session" imscli login user
There are two ways to specify config files:
- Default configuration file, useful for defaults when used directly by users, not thought for automation.
- The file should be stored in ~/.config/
- The file should be named
imscli.extension
, where extension has to match the file format. - Supported formats among others include YAML and JSON.
- Directly specified configuration file with the -f flag.
user@host$ cat ~/.config/imscli.yaml
scopes:
- AdobeID
- openid
- session
user@host$ imscli login user