如何复制粘贴 Google 的 SSO 证书以连接 dex?
How to copy paste Google's SSO certificate for connecting with dex?
我在 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 文件并添加它。有正确的复制格式吗?
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 解析错误,因此请确保您在保存编辑后打开 configmap 时看不到 /n 等。
您应该 考虑重新启动 argocd-dex-server 和 argocd-server 部署,并确认新 pods 中的日志是干净的。
[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/
我在 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 文件并添加它。有正确的复制格式吗?
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 解析错误,因此请确保您在保存编辑后打开 configmap 时看不到 /n 等。
您应该 考虑重新启动 argocd-dex-server 和 argocd-server 部署,并确认新 pods 中的日志是干净的。
[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/