【问题标题】:How to use Openshift OAuth server as authentication provider for my web app running in openshift cluster?如何使用 Openshift OAuth 服务器作为我在 openshift 集群中运行的 Web 应用程序的身份验证提供程序?
【发布时间】:2020-11-05 06:34:48
【问题描述】:

我正在 Openshift 集群中部署一个 Web 应用程序。我想使用 Openshift 身份验证登录到 Web 应用程序。但是找不到有关如何对部署在 Openshift 中的第三方应用程序使用 Openshift 身份验证的文档。谁能在这里指点一下?

【问题讨论】:

    标签: openshift openshift-origin openshift-enterprise


    【解决方案1】:

    这里有两个站点/存储库描述了如何使用 oauth-proxy 作为 sidecar 容器:

    它的要点是,您需要将 openshift/oauth-proxy 容器作为 sidecar 添加到您的部署中,并通过这个额外的容器路由您的流量:

     apiVersion: apps/v1
     kind: Deployment
    [..]
     spec:
    [..]
       template:
         spec:
           containers:
             - <YOUR_APPLICATION_CONTAINER>
             - name: oauth-proxy 
               args:
                 - -provider=openshift
                 - -https-address=:8888
                 - -http-address=
                 - -email-domain=*
                 - -upstream=http://localhost:8080
                 - -tls-cert=/etc/tls/private/tls.crt
                 - -tls-key=/etc/tls/private/tls.key
                 - -client-secret-file=/var/run/secrets/kubernetes.io/serviceaccount/token
                 - -cookie-secret-file=/etc/proxy/secrets/session_secret
                 - -openshift-service-account=reversewords
                 - -openshift-ca=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
                 - -skip-auth-regex=^/metrics
               image: quay.io/openshift/oauth-proxy:4.6
               ports:
                 - name: oauth-proxy
                   containerPort: 8888    
                   protocol: TCP
    

    您可以在链接的存储库或链接的教程中找到完整的示例。

    【讨论】:

    • 感谢您的教程。你知道如何增加请求的超时时间吗? oauth-proxy 内部使用 nginx 吗?
    • 不确定“请求超时”是什么意思。存储库中有一个可用的配置文件示例:github.com/openshift/oauth-proxy/blob/master/contrib/… 据我所知,它内部不使用 NGINX,但可以轻松连接到一个(参见存储库)
    猜你喜欢
    • 1970-01-01
    • 2020-01-22
    • 2012-07-29
    • 2020-04-23
    • 2015-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    相关资源
    最近更新 更多