跳到主内容

Casdoor CLI

Casdoor CLICasdoor 的官方命令行界面,可让您通过终端直接高效且直观地管理 Casdoor 身份和访问管理系统。

GitHub 仓库:https://github.com/casdoor/casdoor-cli

功能

基于浏览器的OAuth2认证

该 CLI 使用基于安全浏览器的 OAuth2 流程进行身份验证,确保您的凭据通过 Casdoor 的标准身份验证机制得到保护。

安全令牌存储

凭据采用您系统的密钥环接口(Linux上的GNOME密钥环,macOS上的钥匙串)安全存储,确保令牌绝不会以明文形式写入磁盘。

用户管理

直接通过命令行轻松创建、更新和删除用户。

权限管理

通过Casdoor的组功能及内置角色控制用户权限:

  • lector:只读访问
  • 编辑器: 可创建用户,但修改权限有限
  • 管理员: 对用户创建、修改和删除拥有完全控制权

组管理

创建、修改和删除用户组,以高效地组织用户并管理权限。

安装

先决条件

  • Go 1.22.0 或更高版本
  • macOS 或 Linux 操作系统
  • GNOME 密钥环(Linux)或钥匙串(macOS),用于安全存储凭据
注意事项

平台支持:目前支持 macOS 和 Linux(已在 Debian 12 和 macOS Sonoma 上测试)。 通过WSL支持Windows不可用,因为CLI需要GNOME的Secret Service DBus接口(GNOME密钥环)来安全存储凭据。

macOS

make build TARGET_OS=darwin && make install TARGET_OS=darwin

Linux

make build TARGET_OS=linux && make install TARGET_OS=linux

配置您的 Shell

安装完成后,将casdoor-cli添加到您的PATH中:

适用于Bash用户:

echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

适用于 Zsh 用户:

echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

验证安装:

casdoor --help

配置

Casdoor服务器

您需要一个用于CLI的Casdoor应用:

  1. 引导数据 — 使用仓库的init_data.json并按照数据初始化
  2. 手册 — 在Casdoor管理面板中创建并配置应用程序。

CLI配置

首次运行时,CLI会提示您提供包含Casdoor连接详情的config.yaml文件。 请将仓库中的config.yaml.example用作模板。

必填配置字段:

application_name: your-app-name
casdoor_endpoint: https://your-casdoor-instance.com
certificate: |
-----BEGIN CERTIFICATE-----
Your certificate content here
-----END CERTIFICATE-----
client_id: your-client-id
client_secret: your-client-secret
organization_name: your-organization
redirect_uri: http://localhost:9000/callback

您的配置将被安全地存储在 ~/.casdoor-cli/config.yaml 中(采用 base64 编码),以供后续使用。

使用方法

可用命令

Usage:
casdoor [command]

Available Commands:
completion Generate the autocompletion script for the specified shell
groups Manage Casdoor permissions
help Help about any command
login Login to your Casdoor account
logout Logout from your Casdoor account
users Manage Casdoor users

Flags:
-d, --debug verbose logging
-h, --help help for casdoor

登录

使用您的Casdoor实例进行身份验证:

casdoor login

这将打开您的默认浏览器进行 OAuth2 身份验证。

管理用户

# List users
casdoor users list

# Create a user
casdoor users create

# Update a user
casdoor users update

# Delete a user
casdoor users delete

管理组

# List groups
casdoor groups list

# Create a group
casdoor groups create

# Update a group
casdoor groups update

# Delete a group
casdoor groups delete

注销

要从您的Casdoor账户登出:

casdoor logout

开发

本地开发环境

仓库中提供了一个Docker Compose环境,用于本地测试和开发:

docker compose up -d
备注

请稍等片刻,让Casdoor容器完全初始化。 在设置数据库时,容器会多次重启。

开发配置

使用本地开发设置,从仓库根目录提供的config.yaml.example模板创建一个config.yaml文件。

测试CLI

使用仓库文档中提供的默认开发凭据测试登录功能。

直接用Go运行:

go run main.go login

或先构建并安装:

make build TARGET_OS=darwin && make install TARGET_OS=darwin  # For macOS
# OR
make build TARGET_OS=linux && make install TARGET_OS=linux # For Linux

casdoor login