🤣添加应用tinyauth
This commit is contained in:
210
tinyauth/3.6.2/data.yml
Normal file
210
tinyauth/3.6.2/data.yml
Normal file
@@ -0,0 +1,210 @@
|
|||||||
|
additionalProperties:
|
||||||
|
formFields:
|
||||||
|
- default: 14389
|
||||||
|
envKey: PANEL_APP_PORT_HTTP
|
||||||
|
labelEn: HTTP Port
|
||||||
|
labelZh: HTTP 端口
|
||||||
|
label:
|
||||||
|
en: HTTP Port
|
||||||
|
ja: ポート
|
||||||
|
ms: Port
|
||||||
|
pt-br: Porta
|
||||||
|
ru: Порт
|
||||||
|
ko: 포트
|
||||||
|
zh: HTTP 端口
|
||||||
|
zh-Hant: HTTP 連接埠
|
||||||
|
required: true
|
||||||
|
rule: paramPort
|
||||||
|
type: number
|
||||||
|
|
||||||
|
- default: ""
|
||||||
|
envKey: PANEL_TINYAUTH_APP_URL
|
||||||
|
labelEn: App URL
|
||||||
|
labelZh: 应用地址
|
||||||
|
label:
|
||||||
|
en: App URL
|
||||||
|
ja: アプリURL
|
||||||
|
ms: URL Aplikasi
|
||||||
|
pt-br: URL do Aplicativo
|
||||||
|
ru: URL приложения
|
||||||
|
ko: 앱 URL
|
||||||
|
zh: 应用地址
|
||||||
|
zh-Hant: 應用地址
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
|
||||||
|
- default: ""
|
||||||
|
envKey: PANEL_TINYAUTH_SECRET
|
||||||
|
labelEn: Secret
|
||||||
|
labelZh: 密钥
|
||||||
|
label:
|
||||||
|
en: Secret
|
||||||
|
ja: シークレット
|
||||||
|
ms: Rahsia
|
||||||
|
pt-br: Segredo
|
||||||
|
ru: Секрет
|
||||||
|
ko: 비밀
|
||||||
|
zh: 密钥
|
||||||
|
zh-Hant: 密鑰
|
||||||
|
required: false
|
||||||
|
type: password
|
||||||
|
|
||||||
|
- default: "86400"
|
||||||
|
envKey: PANEL_TINYAUTH_SESSION_EXPIRY
|
||||||
|
labelEn: Session Expiry (seconds)
|
||||||
|
labelZh: 会话过期时间(秒)
|
||||||
|
label:
|
||||||
|
en: Session Expiry (seconds)
|
||||||
|
ja: セッション有効期限(秒)
|
||||||
|
ms: Tamat Sesi (saat)
|
||||||
|
pt-br: Expiração da Sessão (segundos)
|
||||||
|
ru: Время жизни сессии (секунды)
|
||||||
|
ko: 세션 만료 (초)
|
||||||
|
zh: 会话过期时间(秒)
|
||||||
|
zh-Hant: 會話過期時間(秒)
|
||||||
|
required: false
|
||||||
|
type: number
|
||||||
|
|
||||||
|
- default: "TinyAuth"
|
||||||
|
envKey: PANEL_TINYAUTH_APP_TITLE
|
||||||
|
labelEn: App Title
|
||||||
|
labelZh: 应用标题
|
||||||
|
label:
|
||||||
|
en: App Title
|
||||||
|
ja: アプリタイトル
|
||||||
|
ms: Tajuk Aplikasi
|
||||||
|
pt-br: Título do Aplicativo
|
||||||
|
ru: Заголовок приложения
|
||||||
|
ko: 앱 제목
|
||||||
|
zh: 应用标题
|
||||||
|
zh-Hant: 應用標題
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
|
||||||
|
- default: ""
|
||||||
|
envKey: PANEL_TINYAUTH_OAUTH_AUTO_REDIRECT
|
||||||
|
labelEn: Auto Redirect Provider
|
||||||
|
labelZh: 自动跳转提供商
|
||||||
|
label:
|
||||||
|
en: Auto Redirect Provider
|
||||||
|
ja: 自動リダイレクトプロバイダー
|
||||||
|
ms: Penyedia Pengalihan Automatik
|
||||||
|
pt-br: Provedor de Redirecionamento Automático
|
||||||
|
ru: Автоматический редирект провайдера
|
||||||
|
ko: 자동 리디렉션 제공자
|
||||||
|
zh: 自动跳转提供商
|
||||||
|
zh-Hant: 自動跳轉提供商
|
||||||
|
required: false
|
||||||
|
type: select
|
||||||
|
values:
|
||||||
|
- label: None
|
||||||
|
value: "none"
|
||||||
|
- label: GitHub
|
||||||
|
value: "github"
|
||||||
|
- label: Google
|
||||||
|
value: "google"
|
||||||
|
- label: Generic
|
||||||
|
value: "generic"
|
||||||
|
|
||||||
|
- default: ""
|
||||||
|
envKey: PANEL_TINYAUTH_BACKGROUND_IMAGE
|
||||||
|
labelEn: Background Image
|
||||||
|
labelZh: 背景图片
|
||||||
|
label:
|
||||||
|
en: Background Image
|
||||||
|
ja: 背景画像
|
||||||
|
ms: Imej Latar Belakang
|
||||||
|
pt-br: Imagem de Fundo
|
||||||
|
ru: Фоновое изображение
|
||||||
|
ko: 배경 이미지
|
||||||
|
zh: 背景图片
|
||||||
|
zh-Hant: 背景圖片
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
|
||||||
|
# GitHub
|
||||||
|
- default: ""
|
||||||
|
envKey: PANEL_TINYAUTH_GITHUB_CLIENT_ID
|
||||||
|
labelEn: GitHub Client ID
|
||||||
|
labelZh: GitHub 客户端ID
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
|
||||||
|
- default: ""
|
||||||
|
envKey: PANEL_TINYAUTH_GITHUB_CLIENT_SECRET
|
||||||
|
labelEn: GitHub Client Secret
|
||||||
|
labelZh: GitHub 客户端密钥
|
||||||
|
required: false
|
||||||
|
type: password
|
||||||
|
|
||||||
|
- default: ""
|
||||||
|
envKey: PANEL_TINYAUTH_GITHUB_REDIRECT_URI
|
||||||
|
labelEn: GitHub Redirect URI
|
||||||
|
labelZh: GitHub 回调地址
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
|
||||||
|
# Google
|
||||||
|
- default: ""
|
||||||
|
envKey: PANEL_TINYAUTH_GOOGLE_CLIENT_ID
|
||||||
|
labelEn: Google Client ID
|
||||||
|
labelZh: Google 客户端ID
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
|
||||||
|
- default: ""
|
||||||
|
envKey: PANEL_TINYAUTH_GOOGLE_CLIENT_SECRET
|
||||||
|
labelEn: Google Client Secret
|
||||||
|
labelZh: Google 客户端密钥
|
||||||
|
required: false
|
||||||
|
type: password
|
||||||
|
|
||||||
|
- default: ""
|
||||||
|
envKey: PANEL_TINYAUTH_GOOGLE_REDIRECT_URI
|
||||||
|
labelEn: Google Redirect URI
|
||||||
|
labelZh: Google 回调地址
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
|
||||||
|
# Generic
|
||||||
|
- default: ""
|
||||||
|
envKey: PANEL_TINYAUTH_GENERIC_NAME
|
||||||
|
labelEn: Generic Provider Name
|
||||||
|
labelZh: 通用提供商名称
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
|
||||||
|
- default: ""
|
||||||
|
envKey: PANEL_TINYAUTH_GENERIC_CLIENT_ID
|
||||||
|
labelEn: Generic Client ID
|
||||||
|
labelZh: 通用客户端ID
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
|
||||||
|
- default: ""
|
||||||
|
envKey: PANEL_TINYAUTH_GENERIC_CLIENT_SECRET
|
||||||
|
labelEn: Generic Client Secret
|
||||||
|
labelZh: 通用客户端密钥
|
||||||
|
required: false
|
||||||
|
type: password
|
||||||
|
|
||||||
|
- default: ""
|
||||||
|
envKey: PANEL_TINYAUTH_GENERIC_AUTH_URL
|
||||||
|
labelEn: Generic Auth URL
|
||||||
|
labelZh: 通用认证地址
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
|
||||||
|
- default: ""
|
||||||
|
envKey: PANEL_TINYAUTH_GENERIC_TOKEN_URL
|
||||||
|
labelEn: Generic Token URL
|
||||||
|
labelZh: 通用令牌地址
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
|
||||||
|
- default: ""
|
||||||
|
envKey: PANEL_TINYAUTH_GENERIC_USER_URL
|
||||||
|
labelEn: Generic User Info URL
|
||||||
|
labelZh: 通用用户信息地址
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
42
tinyauth/3.6.2/docker-compose.yml
Normal file
42
tinyauth/3.6.2/docker-compose.yml
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
services:
|
||||||
|
tinyauth:
|
||||||
|
image: ghcr.io/tinyauth/tinyauth:v3.6.2
|
||||||
|
container_name: ${CONTAINER_NAME}
|
||||||
|
environment:
|
||||||
|
# ---- 通用配置 ----
|
||||||
|
- APP_URL=${PANEL_TINYAUTH_APP_URL}
|
||||||
|
- SECRET=${PANEL_TINYAUTH_SECRET}
|
||||||
|
- SESSION_EXPIRY=${PANEL_TINYAUTH_SESSION_EXPIRY}
|
||||||
|
- APP_TITLE=${PANEL_TINYAUTH_APP_TITLE}
|
||||||
|
- OAUTH_AUTO_REDIRECT=${PANEL_TINYAUTH_OAUTH_AUTO_REDIRECT}
|
||||||
|
- BACKGROUND_IMAGE=${PANEL_TINYAUTH_BACKGROUND_IMAGE}
|
||||||
|
|
||||||
|
# ---- GitHub ----
|
||||||
|
- GITHUB_CLIENT_ID=${PANEL_TINYAUTH_GITHUB_CLIENT_ID}
|
||||||
|
- GITHUB_CLIENT_SECRET=${PANEL_TINYAUTH_GITHUB_CLIENT_SECRET}
|
||||||
|
- GITHUB_REDIRECT_URI=${PANEL_TINYAUTH_GITHUB_REDIRECT_URI}
|
||||||
|
|
||||||
|
# ---- Google ----
|
||||||
|
- GOOGLE_CLIENT_ID=${PANEL_TINYAUTH_GOOGLE_CLIENT_ID}
|
||||||
|
- GOOGLE_CLIENT_SECRET=${PANEL_TINYAUTH_GOOGLE_CLIENT_SECRET}
|
||||||
|
- GOOGLE_REDIRECT_URI=${PANEL_TINYAUTH_GOOGLE_REDIRECT_URI}
|
||||||
|
|
||||||
|
# ---- Generic (示例 Linux.Do) ----
|
||||||
|
- GENERIC_NAME=${PANEL_TINYAUTH_GENERIC_NAME}
|
||||||
|
- GENERIC_CLIENT_ID=${PANEL_TINYAUTH_GENERIC_CLIENT_ID}
|
||||||
|
- GENERIC_CLIENT_SECRET=${PANEL_TINYAUTH_GENERIC_CLIENT_SECRET}
|
||||||
|
- GENERIC_AUTH_URL=${PANEL_TINYAUTH_GENERIC_AUTH_URL}
|
||||||
|
- GENERIC_TOKEN_URL=${PANEL_TINYAUTH_GENERIC_TOKEN_URL}
|
||||||
|
- GENERIC_USER_URL=${PANEL_TINYAUTH_GENERIC_USER_URL}
|
||||||
|
|
||||||
|
ports:
|
||||||
|
- "${PANEL_APP_PORT_HTTP}:3000"
|
||||||
|
labels:
|
||||||
|
createdBy: "Apps"
|
||||||
|
networks:
|
||||||
|
- 1panel-network
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
networks:
|
||||||
|
1panel-network:
|
||||||
|
external: true
|
||||||
78
tinyauth/README.md
Normal file
78
tinyauth/README.md
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
# TinyAuth
|
||||||
|
|
||||||
|
TinyAuth 是一个轻量级的 OAuth2 / OIDC 认证代理,适合为已有的 Web 应用、面板或服务添加登录保护。你可以将它部署在应用之前,通过标准的身份提供商(如 Casdoor、Keycloak、Auth0 等)实现单点登录(SSO)。
|
||||||
|
|
||||||
|
## 功能特性
|
||||||
|
|
||||||
|
* 支持 OAuth2 / OpenID Connect 协议
|
||||||
|
* 支持多身份提供商配置
|
||||||
|
* 可保护现有 Web 服务(无需修改应用本身)
|
||||||
|
* 简单的反向代理模式
|
||||||
|
* 支持多种回调和重定向策略
|
||||||
|
|
||||||
|
## 快速开始
|
||||||
|
|
||||||
|
### 1. 部署 TinyAuth
|
||||||
|
|
||||||
|
使用 Docker 运行:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run -d \
|
||||||
|
--name=tinyauth \
|
||||||
|
-p 8080:8080 \
|
||||||
|
-v $(pwd)/config.yml:/app/config.yml \
|
||||||
|
ghcr.io/tinyauth/tinyauth:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. 配置示例
|
||||||
|
|
||||||
|
在 `config.yml` 中配置认证提供商(例如 Casdoor):
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
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 反向代理示例
|
||||||
|
|
||||||
|
```nginx
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
server_name app.example.com;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://127.0.0.1:8080;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4. 登录流程
|
||||||
|
|
||||||
|
1. 访问受保护的应用(如 `app.example.com`)
|
||||||
|
2. TinyAuth 会跳转到认证提供商(如 Casdoor)登录
|
||||||
|
3. 登录成功后跳转回应用
|
||||||
|
|
||||||
|
## 配置参数
|
||||||
|
|
||||||
|
常见参数:
|
||||||
|
|
||||||
|
| 参数 | 描述 |
|
||||||
|
| --------------- | ----------------- |
|
||||||
|
| `client_id` | OAuth2 客户端 ID |
|
||||||
|
| `client_secret` | OAuth2 客户端密钥 |
|
||||||
|
| `issuer` | 身份提供商地址(OIDC 发行者) |
|
||||||
|
| `redirect_url` | 登录成功后的回调地址 |
|
||||||
|
|
||||||
|
## 参考链接
|
||||||
|
|
||||||
|
* [TinyAuth 文档](https://tinyauth.app/docs)
|
||||||
|
* [OAuth2 Proxy](https://oauth2-proxy.github.io/oauth2-proxy/)(类似工具)
|
||||||
|
* [Casdoor](https://casdoor.org/)(身份提供商示例)
|
||||||
32
tinyauth/data.yml
Normal file
32
tinyauth/data.yml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
name: TinyAuth
|
||||||
|
tags:
|
||||||
|
- 开发工具
|
||||||
|
- 安全
|
||||||
|
title: 轻量级OAuth2/OIDC认证代理,支持多身份提供商的统一登录解决方案
|
||||||
|
description: 一个轻量级的OAuth2和OIDC认证代理工具,常用于在现有Web服务前添加统一登录认证。
|
||||||
|
additionalProperties:
|
||||||
|
key: tinyauth
|
||||||
|
name: TinyAuth
|
||||||
|
tags:
|
||||||
|
- DevTool
|
||||||
|
- Security
|
||||||
|
shortDescZh: 轻量级OAuth2/OIDC认证代理,支持多身份提供商的一站式登录认证
|
||||||
|
shortDescEn: Lightweight OAuth2/OIDC authentication proxy with multi-provider SSO support
|
||||||
|
type: website
|
||||||
|
crossVersionUpdate: true
|
||||||
|
limit: 0
|
||||||
|
website: https://tinyauth.app/
|
||||||
|
github: https://github.com/tinyauth/tinyauth
|
||||||
|
document: https://tinyauth.app/docs/
|
||||||
|
description:
|
||||||
|
en: A lightweight reverse proxy and authentication middleware supporting multiple OAuth2 and OpenID Connect providers, ideal for securing existing web services with SSO.
|
||||||
|
zh: 一个轻量级的反向代理与认证中间件,支持多种OAuth2和OIDC身份提供商,为现有Web服务提供统一登录保护。
|
||||||
|
zh-Hant: 一個輕量級的反向代理與認證中介軟體,支援多種OAuth2和OIDC身份提供商,為既有Web服務提供單一登入保護。
|
||||||
|
ja: 複数のOAuth2およびOIDCプロバイダーに対応した軽量認証プロキシで、既存のWebサービスにSSO保護を追加可能。
|
||||||
|
ms: Proksi pengesahan ringan yang menyokong penyedia OAuth2 dan OIDC pelbagai, sesuai untuk melindungi perkhidmatan web sedia ada dengan SSO.
|
||||||
|
pt-br: Proxy de autenticação leve que suporta múltiplos provedores OAuth2 e OIDC, adequado para proteger serviços web existentes com SSO.
|
||||||
|
ru: Легковесный обратный прокси и провайдер аутентификации, поддерживающий OAuth2 и OIDC, обеспечивающий единую точку входа для существующих веб-сервисов.
|
||||||
|
ko: 다양한 OAuth2 및 OIDC 제공자를 지원하는 경량 인증 프록시로, 기존 웹 서비스에 단일 로그인 보호를 제공합니다.
|
||||||
|
architectures:
|
||||||
|
- amd64
|
||||||
|
- arm64
|
||||||
BIN
tinyauth/logo.png
Normal file
BIN
tinyauth/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
Reference in New Issue
Block a user