1.9 KiB
1.9 KiB
TinyAuth
TinyAuth 是一个轻量级的 OAuth2 / OIDC 认证代理,适合为已有的 Web 应用、面板或服务添加登录保护。你可以将它部署在应用之前,通过标准的身份提供商(如 Casdoor、Keycloak、Auth0 等)实现单点登录(SSO)。
功能特性
- 支持 OAuth2 / OpenID Connect 协议
- 支持多身份提供商配置
- 可保护现有 Web 服务(无需修改应用本身)
- 简单的反向代理模式
- 支持多种回调和重定向策略
快速开始
1. 部署 TinyAuth
使用 Docker 运行:
docker run -d \
--name=tinyauth \
-p 8080:8080 \
-v $(pwd)/config.yml:/app/config.yml \
ghcr.io/tinyauth/tinyauth:latest
2. 配置示例
在 config.yml 中配置认证提供商(例如 Casdoor):
server:
port: 8080
providers:
- id: casdoor
name: Casdoor
client_id: your-client-id
client_secret: your-client-secret
issuer: https://auth.example.com
redirect_url: https://tinyauth.example.com/callback
3. Nginx 反向代理示例
server {
listen 80;
server_name app.example.com;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
4. 登录流程
- 访问受保护的应用(如
app.example.com) - TinyAuth 会跳转到认证提供商(如 Casdoor)登录
- 登录成功后跳转回应用
配置参数
常见参数:
| 参数 | 描述 |
|---|---|
client_id |
OAuth2 客户端 ID |
client_secret |
OAuth2 客户端密钥 |
issuer |
身份提供商地址(OIDC 发行者) |
redirect_url |
登录成功后的回调地址 |
参考链接
- TinyAuth 文档
- OAuth2 Proxy(类似工具)
- Casdoor(身份提供商示例)