asgardeo-cli is a experimental (non-official) cli app for managing and interacting with Asgardeo integrations.
- Authenticate as a machine (Client Credentials) or User (Device Flow)
- Manage applications
- List applications
- Create applications (Support Templates)
- Delete applications
- Interactive mode
- Keychain support for storing credentials
- Logging
- Go 1.16 or higher
- Make sure
$HOME/bin
is in your PATH
-
Clone the repository:
git clone https://github.com/shashimalcse/asgardeo-cli.git cd asgardeo-cli
-
Build and install the CLI:
make install
-
Verify the installation:
asgardeo --version
If you encounter any issues, ensure that $HOME/bin
is in your PATH by adding the following line to your shell configuration file (~/.zshrc
for Zsh or ~/.bash_profile
for Bash):
export PATH=$PATH:$HOME/bin
Then, reload your shell configuration:
source ~/.zshrc # or ~/.bash_profile for Bash
Authenticating to your Identity Server/ Asgardeo tenant is required for most functions of the CLI. It can be initiated by running:
asgardeo login
There are two ways to authenticate:
-
As a user - Recommended when invoking on a personal machine or other interactive environment. Facilitated by device authorization flow.
Authenticating as a user is not supported for Asgardeo tenants.
-
As a machine - Recommended when running on a server or non-interactive environments (ex: CI). Facilitated by client credentials flow.
-
Create a Machine-to-Machine (M2M) application within your Asgardeo organization.
-
Authorize the APIs you want the application to consume.
Important: Certain functionalities will not work unless the relevant APIs are not authorized to the application.
-
Record the Client ID and Client Secret from the Protocol tab.
-
When prompted, enter the Tenant Domain, Client ID, and Client Secret obtained in the previous step.
-
asgardeo apps list
- List your applicationsasgardeo apps create
- Create a new applicationasgardeo apps delete <app-id>
- Delete an application
asgardeo apis list
- List your API resourcesasgardeo apis create
- Create a new API resourceasgardeo apis delete <api-id>
- Delete an API resource
We welcome contributions to this project! Here are some guidelines to follow:
- Before submitting a pull request, please ensure your code aligns with the Golang Style Guide
- Update the documentation if you've made changes that affect it.
- Submit a pull request with a comprehensive description of your changes.
We appreciate your efforts to improve this project!
If you encounter any problems or have any questions, please open an issue on the GitHub repository.