Louketo Proxy
约 2 分钟阅读
已停止维护,使用 oauth2-proxyGitHuboauth2-proxy/oauth2-proxyoauth2-proxy/oauth2-proxy · 环境变量 + 前缀 · 会话 - · cookie - 默认 · 代理无状态 · 使用 加密 cookie · 并发操作可能会冲突导致需要从新认证 · redis · Cookie 记录 ticket笔记:oauth2-proxy 替代。
- louketo/louketo-proxyGitHublouketo/louketo-proxy已停止维护,使用 oauth2-proxy 替代。 · louketo/louketo-proxy · 原来的 keycloak gatekeeper · 使用手册 · 两种工作模式 · 反向代理 - 例如 Nginx · 请求上游携带授权信息笔记:Louketo Proxy
- 原来的 keycloak gatekeeper
- 使用手册GitHub 文件louketo/louketo-proxy/docs/user-guide.md
- 两种工作模式
- 反向代理 - 例如 Nginx
- 请求上游携带授权信息
- 前向代理 - HTTP_PROXY
- 必须提供账号密码
- 使用提供的账号密码进行
client_credentials授权 - 请求附加授权信息
- 用于 服务之间 使用 Token 鉴权
- 反向代理 - 例如 Nginx
- 权限管理
- 白名单
- 路径 + HTTP 方法 + 角色
- 暴露端口
/oauth/logout?redirect=url退出登陆/oauth/callbackOpenID 回调/oauth/authorize鉴权,生成 OpenID 重定向到 provider/oauth/expired判断 Token 是否过期 - 返回 200 或 401/oauth/health检查健康状态,可通过头 获取版本/oauth/login中继账号密码登陆,使用grant_type=password,通过 POST username 和 password/oauth/token返回当前 AccessToken/oauth/metricsPrometheus 指标
- 注意
- 无法配合 Traefik 的 ForwardAuth - #672GitHub Issuelouketo/louketo-proxy#672 Support for Forward Auth/ External Auth
- 无法配合 Nginx auth_request 使用 #537GitHub Issuelouketo/louketo-proxy#537
- 因为 oidc 流程相对复杂,直接的 auth_request 难以实现
- 可以使用 /expired
docker run -it --rm quay.io/louketo/louketo-proxy \
--listen 127.0.0.1:8080 \
--upstream-url http://127.0.0.1:80 \
--discovery-url https://keycloak.example.com/auth/realms/<REALM_NAME> \
--client-id <CLIENT_ID>FAQ
oidc: JWT claims invalid: invalid claims, 'aud' claim and 'client_id' do not match, aud=account
- 依赖 OIDC 客户端问题 - 待升级
- 目前解决办法
- 添加 mapper
- mapper 类型 audience
- 添加 客户端
- #567GitHub Issuelouketo/louketo-proxy#567
no session found in request, redirecting for authorization
未获取到 token 信息
- 注意
secure-cookie=false- 如果没有设置,则默认是 true,导致 http 不会记录 cookie
- 通过排查前段是否有存储 cookie 来解决
关联信息
反向链接、本文链接的其他页面和外部资料。
参考资料
GitHub6 条
- louketo/louketo-proxygithub.com/louketo/louketo-proxy
- louketo/louketo-proxy/docs/user-guide.mdgithub.com/louketo/louketo-proxy/blob/master/docs/user-guide.md
- louketo/louketo-proxy#537github.com/louketo/louketo-proxy/issues/537
- louketo/louketo-proxy#567github.com/louketo/louketo-proxy/issues/567
- louketo/louketo-proxy#672github.com/louketo/louketo-proxy/issues/672
- oauth2-proxy/oauth2-proxygithub.com/oauth2-proxy/oauth2-proxy