hahahaha OAuth2 callback 401 了,前端应该有错误提示,也可以curl 一下这个API 看看 response

    Unauthorized: unexpected end of JSON input 前段这个错误提示看不出来啊

      hahahaha
      我改了下结构体,将你的这个结构体与用户信息的接口返回数据对应上就行了。

      hongming 我可以实现oauth2登陆了,可是现在有以下两个问题:
      1.我现在不能同时配置ldap,ldap和oauth2只能生效一个,请问如何解决?
      2.kubesphere设置oauth2的时候没有单点登出的字段吗?

      1. 应该是个issue,可以提到github
      2. OAuth2 协议本身是没有登出部分的,认证登录是换取用户身份的过程,登录kubesphere之后用户的会话周期由kubesphere控制,OAuth2 Provider 签发的token应该设置有效期,过期自动失效,另外kubesphere也不会记录此凭证。

        hongming
        这两个问题暂时没法解决吗?
        还有就是,我在其他oauth2客户端进行了登录,这个时候(浏览器有会话保持的时候)我想直接跳到Kubesphere的首页(即已登录状态的首页),这样可以实现吗(目前我们对接jira可以实现)?
        现在是在其他oauth2客户端进行了登录,进kubesphere会跳到登录页,再点击一下"通过oauth2登录"才能跳到首页(不用输入用户名密码)。

          tjushilei 上面提到的问题1 和自动跳转登录近期应该会更新,前端需要稍作调整(现在/oauth/redirect 不会跳转到主页)。问题2可以在插件代码中实现,在获取到用户身份信息之后 ,就可以对provider签发的token进行注销,登录到kubesphere之后换取的是kubesphere中账户的凭证,会话生命周期是由kubesphere进行控制的。

          如果你想实现的是当provider 签发的token失效(被登出) 时自动登出kubesphere, 这个并不属于通用的部分,您可以尝试自己实现该功能

            hongming 首先您的回答我明白了,感谢回答。
            请问如果要支持LDAP和oauth2同时登陆的话,需要修改哪部分代码呢?我们找ldap相关代码没找到。

              tjushilei 您好 您是怎么打包kubesphere后台的,我改完identity provisor后,在kubesphere路径下make ks-apiserver ,然后打包镜像,但是启动apiserver后报Error: moinitoring service address in configuration MUST not be empty, please check configmap/kubesphere-config in kubesphere-system namespace错误

                hahahaha 你的打包方式没错,应该是配置文件写错了,报错应该也是报的配置文件的错,可以修改一下配置文件,查看配置文件的命令是:kubectl -n kubesphere-system edit cm kubesphere-config;重启ks-apiserver的命令是:kubectl -n kubesphere-system rollout restart deploy/ks-apiserver

                配置文件应该是没错的,因为我把ks-apiserver deplyment的镜像替换成ks-apiserver:v3.0.0就能正常运行

                  hahahaha 你可以先重置下配置文件,然后再换上你自己的ks-apiserver镜像看看,我们这边之前也是换了新的ks-apiserverv不行,后来把配置文件初始了之后,再换上就可以了

                  4 个月 后

                  hongming 请问下 上面提到的第一个问题,也就是/oauth/redirect 不会跳转的问题,现在解决了么?如果没有的话,请大佬给个思路我们自己改下?谢谢了