Casdoor 接入与使用指南
一、部署 Casdoor
环境准备
- 确保已安装以下工具:
- Git
- Docker
- Node.js
- Yarn
- 确保已安装以下工具:
部署方式
- Docker 部署(推荐):
创建一个目录并挂载配置文件:
mkdir /casdoor cd /casdoor vim app.conf启动服务:
docker run -d -p 8000:8000 -v /casdoor:/conf casbin/casdoor-all-in-one访问
http://localhost:8000,使用默认账号admin和密码123登录。
- 手动部署:
克隆 Casdoor 仓库:
git clone https://github.com/casdoor/casdoor配置数据库信息(如 MySQL):
cd conf vim app.conf编译并运行:
go build ./casdoor
- Docker 部署(推荐):
验证部署
- 访问
http://localhost:8000,确保登录页面正常显示。
- 访问
二、应用接入 Casdoor
创建应用
- 登录 Casdoor 管理界面,进入
Applications页面,创建一个新应用。 - 填写以下信息:
- 应用名称
- 重定向 URL(如
http://localhost:3000/signin) - 客户端 ID 和密钥(用于后续集成)。
- 登录 Casdoor 管理界面,进入
后端服务配置
- 在应用的后端服务中,配置 Casdoor 的接入信息:
[Casdoor] Endpoint = "http://localhost:8000" GrantType = "authorization_code" ClientId = "your-client-id" ClientSecret = "your-client-secret" RedirectUri = "http://localhost:3000/signin" ```。
- 在应用的后端服务中,配置 Casdoor 的接入信息:
前端应用配置
- 在前端项目中,配置 Casdoor 的 API 地址:
export const API_URL = 'http://localhost:8080'; ```。
- 在前端项目中,配置 Casdoor 的 API 地址:
启动应用
- 分别启动后端和前端服务:
make shop_api make shop_web ```。
- 分别启动后端和前端服务:
三、API 使用
获取授权 URL
- 使用 Casdoor SDK 获取授权 URL:
const { CasdoorSDK } = require('casdoor-node-sdk'); const sdk = new CasdoorSDK({ endpoint: 'http://localhost:8000', clientId: 'your-client-id', clientSecret: 'your-client-secret' }); const authUrl = sdk.getAuthUrl(); ```。
- 使用 Casdoor SDK 获取授权 URL:
获取访问令牌
- 用户登录后,通过回调获取访问令牌:
const code = req.query.code; const token = await sdk.getAccessToken(code); ```。
- 用户登录后,通过回调获取访问令牌:
获取用户信息
- 使用访问令牌获取用户信息:
const user = await sdk.getUser(token.access_token); ```。
- 使用访问令牌获取用户信息:
四、注意事项
- 数据库配置
- 确保数据库连接字符串正确,不同数据库类型的配置格式不同。
- 证书配置
- 如果需要使用 SSL,确保在 Casdoor 中配置证书。
- 重定向 URL
- 确保应用的重定向 URL 与 Casdoor 中配置的 URL 一致。
- 生产环境
- 在生产环境中,建议使用正式的安装方式,并绑定域名以确保安全性。
No comments yet.