首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >oauth2_proxy不要求认证

oauth2_proxy不要求认证
EN

Stack Overflow用户
提问于 2019-07-23 23:22:00
回答 1查看 700关注 0票数 0

我试图在kubernetes上设置oauth2_proxy,以保护我的单一页面应用程序之一,并且我使用github作为身份验证提供者。我发现这个链接很有用,我遵循这个来做我的设置。[https://alikhil.github.io/2018/05/oauth2-proxy-for-kubernetes-services/]

我在github上创建了一个应用程序,并使用我的DNS名称代替了HomePageURL和CallBackURL (https://auth.example.com替换为https://example.com),因为我没有为auth.example.com生成TLS机密。相反,我为example.com生成了TLS证书,因为这个域属于我。我在nginx控制器中发现了错误,即证书属于example.com,而不是auth.example.com,因为这些URL已用于定义示例in和oauth代理入口,这是我进行上述更改的基础。

我的女人长得像这样

代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: oauth2-proxy
  annotations:
    kubernetes.io/tls-acme: "true"
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
    - host: example.com
      http:
        paths:
          - backend:
              serviceName: oauth2-proxy
              servicePort: 4180
            path: /oauth2
  tls:
    - hosts:
        - example.com
      secretName: oauth-proxy-tls
代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: oauth-main-ingress
  annotations:
    kubernetes.io/ingress.class: nginx
    kubernetes.io/tls-acme: "true"
    ingress.kubernetes.io/auth-url: https://example.com/oauth2/auth
    ingress.kubernetes.io/auth-signin: https://example/oauth2/start?rd=https://$host$request_uri$is_args$args
spec:
  rules:
    - host: example.com
      http:
        paths:
          - backend:
              serviceName: example-service
              servicePort: 80
            path: /
  tls:
    - hosts:
        - example.com
      secretName: tls-secret

我希望无论何时单击example.com,它都应该显示用于github身份验证的页面,但在我的示例中,它直接给出了服务在成功身份验证后应该给予的响应。我没有被要求提供凭据。另外,我的入口控制器日志中也出现了7 controller.go:753] Error obtaining Endpoints for Service "default/oauth2-proxy": no object matching key "default/oauth2-proxy" in local store错误,我试着使用nginx.inress.kubernetes.io/auth:http://oauth2-proxy.oauth-proxy.svc.cluster.local:4180/oauth2/auth替换,但是它对我不起作用。有人能解释为什么oauth2_proxy不请求身份验证,而入口直接服务请求而不请求身份验证吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-24 09:46:05

oauth主入口yaml中声明的注释是不正确的。根据kubernetes/nginx-入口文件外部auth-url的注释应该是

代码语言:javascript
复制
 nginx.ingress.kubernetes.io/auth-url: http://<oauth-service-url>

而不是

代码语言:javascript
复制
 ingress.kubernetes.io/auth-url: http://<oauth-service-url>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57173348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档