0

我在 dex 服务器中不断收到以下错误-

failed to initialize server: server: Failed to open connector saml: failed to open connector: failed to create connector saml: parse cert: trailing data:

我正在复制 Google SSO 证书,将其转换为 base64 并粘贴。这是用于使用 google sso 登录配置 argocd。(https://argo-cd.readthedocs.io/en/release-1.8/operator-manual/user-management/google/)我尝试使用\n\r\n不复制证书\n。还是同样的错误。我正在编辑 argocd cm 文件并添加它。是否有正确的复制格式?

4

1 回答 1

0

1:转到https://www.base64encode.org/并将您的原始证书粘贴到那里进行编码。完整格式的原件如下:

-----BEGIN CERTIFICATE-----
MIIDdDDDD
XXXXXX
VVVVVVV
-----END CERTIFICATE-----

端到端复制编码的结果字符串,注意不要有多余的字符。

2:编辑您的配置映射并确保 yaml 格式正确:

#kubectl -n argocd 编辑 cm argocd-cm

这是一个有效的示例配置:

---
#in argocd-cm
data:
  url: https://argocd.int.domain.com
  dex.config: |
    logger:
      level: debug
      format: json
    connectors:
    - type: saml
      id: saml
      name: saml
      config:
        ssoURL: https://accounts.google.com/o/saml2/idp?idpid=XXXXXXXX
        entityIssuer: https://argocd.int.domain.com/api/dex/callback
        redirectURI: https://argocd.int.domain.com/api/dex/callback
        ssoIssuer: https://accounts.google.com/o/saml2/idp?idpid=XXXXXXXXX
        caData: |
          LS0tLS1CRUdJTiBXXXXXXXXXXThe long BASE64EncodedString
        usernameAttr: name
        emailAttr: email
#etcetc
---

我希望这可以解决您的问题。

注意:在 configmap 中格式化字符可能会通过引入 yaml 解析错误来破坏事情,因此请确保在保存编辑后打开 config map 时看不到 /n 等。

应该考虑重新启动 argocd-dex-server 和 argocd-server 部署,并确认新 pod 中的日志是干净的。

[taproot@ip-10-10-15-500 ~]# kubectl -n argocd rollout restart deployment argocd-dex-server
deployment.apps/argocd-dex-server restarted
[taproot@ip-10-10-15-500 ~]# kubectl -n argocd rollout restart deployment argocd-server
deployment.apps/argocd-server restarted

我必须执行上述重新启动以消除 UI 上的显着错误,这些错误如下所示:

“无法加载数据:grpc:客户端连接正在关闭”

参考:https ://argoproj.github.io/argo-cd/operator-manual/user-management/google/

于 2021-02-19T08:27:41.083 回答