1
0
Fork 0
1Panel-Appstore/apps/oauth2-proxy
renovate[bot] 06edb4ff22
chore(deps): update quay.io/oauth2-proxy/oauth2-proxy docker tag to v7.14.3 (localApps) (#4239)
2026-02-26 15:16:23 +00:00
..
7.14.3 chore(deps): update quay.io/oauth2-proxy/oauth2-proxy docker tag to v7.14.3 (localApps) (#4239) 2026-02-26 15:16:23 +00:00
README.md Merge branch 'patch/add-apps' into localApps 2025-10-26 18:37:48 +08:00
data.yml Merge branch 'patch/add-apps' into localApps 2025-10-26 18:37:48 +08:00
logo.png Merge branch 'patch/add-apps' into localApps 2025-10-26 18:37:48 +08:00

README.md

OAuth2 Proxy

OAuth2 Proxy 是一个反向代理与认证中间件,支持通过 Google、GitHub、GitLab、Keycloak、OIDC 等多种身份提供商进行 OAuth2 认证。常用于在已有 Web 服务前增加统一登录认证。


功能特性

  • 支持 OAuth2 和 OpenID Connect (OIDC) 协议
  • 多身份提供商支持Google、GitHub、GitLab、Microsoft、Keycloak 等)
  • 提供登录保护(适用于内部应用、管理面板等)
  • 支持将认证信息传递给后端应用Header / Cookie
  • 可与 Nginx、Traefik、Envoy 等反向代理协作使用

快速开始

使用 Docker

docker run -p 4180:4180 \
    -e OAUTH2_PROXY_PROVIDER=google \
    -e OAUTH2_PROXY_CLIENT_ID=<client-id> \
    -e OAUTH2_PROXY_CLIENT_SECRET=<client-secret> \
    -e OAUTH2_PROXY_COOKIE_SECRET=$(openssl rand -base64 32 | head -c 32 | base64) \
    -e OAUTH2_PROXY_REDIRECT_URL=https://your.domain.com/oauth2/callback \
    -e OAUTH2_PROXY_EMAIL_DOMAINS=* \
    quay.io/oauth2-proxy/oauth2-proxy:latest

容器启动后,访问 http://localhost:4180 即会跳转到 OAuth2 提供商登录。


使用 Helm (Kubernetes)

helm repo add oauth2-proxy https://oauth2-proxy.github.io/manifests
helm repo update
helm install oauth2-proxy/oauth2-proxy \
  --generate-name \
  --set config.clientID=<client-id> \
  --set config.clientSecret=<client-secret> \
  --set config.cookieSecret=$(openssl rand -base64 32 | head -c 32 | base64) \
  --set config.provider=google

配置示例

基本配置文件 oauth2-proxy.cfg

provider = "oidc"
client_id = "your-client-id"
client_secret = "your-client-secret"
redirect_url = "https://your.domain.com/oauth2/callback"
oidc_issuer_url = "https://accounts.example.com"
email_domains = ["*"]
cookie_secret = "random-cookie-secret"

运行:

oauth2-proxy --config ./oauth2-proxy.cfg

Nginx 反向代理示例

server {
    listen 443 ssl;
    server_name app.example.com;

    location / {
        proxy_pass http://127.0.0.1:4180;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

常用环境变量

变量名 说明
OAUTH2_PROXY_PROVIDER 身份提供商类型,如 googlegithuboidc
OAUTH2_PROXY_CLIENT_ID OAuth2 客户端 ID
OAUTH2_PROXY_CLIENT_SECRET OAuth2 客户端密钥
OAUTH2_PROXY_COOKIE_SECRET 随机字符串,用于加密 Cookie
OAUTH2_PROXY_REDIRECT_URL 回调地址
OAUTH2_PROXY_EMAIL_DOMAINS 允许的邮箱域,* 表示允许所有

参考资料