【问题标题】:How to set traefik with OAuth2 authentication如何使用 OAuth2 身份验证设置 traefik
【发布时间】:2018-11-22 01:19:40
【问题描述】:

我使用 traefik 作为反向代理。我想为入口点设置 OAuth2 身份验证。 在文档中,我找到了Forward Authentication,我认为它可能对此有用。但是文档太简单了

此配置会先将请求转发到http://authserver.com/auth

如果响应码为 2XX,则授予访问权限并执行原始请求。否则,返回认证服务器的响应。

我不知道如何在转发中实现身份验证 OAuth2? 我试过oauth2_proxy,但没有找到解决方案。
在这个issue/comment Guybrush 中提供了一个解决方案。但这实际上是一个双重反向代理。

【问题讨论】:

    标签: oauth-2.0 traefik


    【解决方案1】:

    我最近为此构建了一个应用程序:https://github.com/thomseddon/traefik-forward-auth

    正如您提到的,它使用前向身份验证,并使用 Google OAuth 对用户进行身份验证。

    这里有一个 Docker Compose 设置示例:https://github.com/thomseddon/traefik-forward-auth/blob/master/examples/docker-compose.yml。请参阅 traefik.toml 文件以了解如何将 Traefik 配置为指向应用程序。

    如果有帮助请告诉我!

    【讨论】:

    • 链接现已修复:)
    【解决方案2】:

    不要试图让 Traefik 支持你的情况,而是让 Traefik 做它最擅长的事情,而不是使用 Keycloak Gatekeeper 进行身份验证(以及可能的授权)。

    这会改变你的设置

    Client -- Traefik -- Service
    

    Client -- Traefik -- Gatekeeper -- Service
    

    这意味着 Traefik 和 Gatekeeper 都充当反向代理。

    使用这种方法对复杂的身份验证设置进行建模非常简单。然而,一个潜在的缺点是额外的 RP 层,因此对于高性能设置,这可能不是一个理想的解决方案。

    请注意,Gatekeeper 可以与任何兼容 OIDC 的 IdP 一起使用,因此您无需运行 Keycloak 即可使用它。

    【讨论】:

    • 这听起来不错,但是文档在哪里?例子?这如何与多种服务一起使用?
    • 嗨@ricochet1k,你有没有找到任何好的文档。我尝试过,但出现错误:“请求中未找到会话,重定向授权”,“错误”:“未找到身份验证会话”“
    • 请注意:“Keycloak Gatekeeper 已移至 Louketo Proxy 项目。” - docker hub 上的图片严重过时,他们搬到了 quay.io。
    猜你喜欢
    • 2021-01-27
    • 2017-11-10
    • 1970-01-01
    • 2015-11-21
    • 1970-01-01
    • 1970-01-01
    • 2022-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多