A command-line interface tool for interacting with the Campus API, enabling users to perform authentication and vault operations directly from the shell.
campus auth login- OAuth-based browser authenticationcampus auth logout- Clear stored credentials
campus auth client new --name <name> --description <descr>- Create new OAuth clientcampus auth client get --client-id <client_id>- Get client detailscampus auth client delete --client-id <client_id>- Delete a clientcampus auth client revoke --client-id <client_id>- Revoke client accesscampus auth client update --client-id <client_id> [--name <name>] [--description <descr>]- Update client metadata
campus auth client access get --client-id <client_id>- Get access permissionscampus auth client access grant --client-id <client_id>- Grant accesscampus auth client access revoke --client-id <client_id>- Revoke accesscampus auth client access update --client-id <client_id>- Update access
campus auth vault list --vault <label>- List all entries in a vaultcampus auth vault get --vault <label>- Get entire vaultcampus auth vault get --vault <label> --key <key>- Get specific key from vaultcampus auth vault set --vault <label> --key <key> --value <value>- Set key-value in vault
- Primary: Native credential store (Windows Credential Manager, macOS Keychain, Linux Secret Service)
- Fallback:
- Linux:
~/.config/campus-cli/credentials.json - Windows:
%USERPROFILE%\campus-cli\credentials.json
- Linux:
- OAuth 2.0 Device Authorization Flow (RFC 8628)
- CLI requests device code and displays user code
- User enters code at verification URL in browser
- CLI polls token endpoint until authentication completes
- Stores access and refresh tokens in credential store
- Uses public client ID (
guest) - special client type that doesn't require database entry
- Uses
campus-api-pythonlibrary - Handles API errors gracefully
- Configurable API endpoint