最新更新:

    OIDC 身份提供者

    OIDC 身份提供者

    OpenID Connect 是一种基于 OAuth 2.0 系列规范的可互操作的身份认证协议。使用简单的 REST/JSON 消息流,其设计目标是“让简单的事情变得简单,让复杂的事情成为可能”。与之前的任何身份认证协议(例如 Keycloak、Okta、Dex、Auth0、Gluu、Casdoor 等)相比,开发人员集成起来非常容易。

    准备工作

    您需要部署一个 Kubernetes 集群,并在集群中安装 Kube AI Hub。有关详细信息,请参阅在 Linux 上安装在 Kubernetes 上安装

    步骤

    1. admin 身份登录 Kube AI Hub,将光标移动到右下角 icon ,点击 kubectl,然后执行以下命令来编辑 CRD ClusterConfiguration 中的 ks-installer

      kubectl -n kubesphere-system edit cc ks-installer
      
    2. spec.authentication.jwtSecret 字段下添加以下字段。

      使用 Google Identity Platform 的示例

      spec:
        authentication:
          jwtSecret: ''
          authenticateRateLimiterMaxTries: 10
          authenticateRateLimiterDuration: 10m0s
          oauthOptions:
            accessTokenMaxAge: 1h
            accessTokenInactivityTimeout: 30m
            identityProviders:
            - name: google
              type: OIDCIdentityProvider
              mappingMethod: auto
              provider:
                clientID: '********'
                clientSecret: '********'
                issuer: https://accounts.google.com
                redirectURL:  'https://ks-console/oauth/redirect/google'
      

      字段描述如下:

      参数 描述
      clientID 客户端 ID。
      clientSecret 客户端密码。
      redirectURL 重定向到 ks-console 的 URL,格式为:https://<域名>/oauth/redirect/<身份提供者名称>。URL 中的 <身份提供者名称> 对应 oauthOptions:identityProviders:name 的值。
      issuer 定义客户端如何动态发现有关 OpenID 提供者的信息。
      preferredUsernameKey 可配置的密钥,包含首选用户声明。此参数为可选参数。
      emailKey 可配置的密钥,包含电子邮件声明。此参数为可选参数。
      getUserInfo 使用 userinfo 端点获取令牌的附加声明。非常适用于上游返回 “thin” ID 令牌的场景。此参数为可选参数。
      insecureSkipVerify 关闭 TLS 证书验证。