解决SAML身份验证设置问题
设置SAML时常见的一些问题。
您的应用程序支持SAML吗?
请验证您在身份提供者(IdP)中创建的应用程序是否支持SAML。在应用程序创建过程中有时会提供其他选项。
发行者或实体ID是否正确?
在用身份提供者填写完身份验证表单后,您会被返回到Metabase,但它会抛出一个错误。要查看错误,请转到管理设置 > 故障排除 > 日志。您将看到一个类似以下错误:错误的响应 <发行者>。
根本原因:您的发行者或实体ID不正确。
采取的步骤:
- 您应该已经从您的身份提供者那里收到了一个元数据的XML文件。打开该元数据文件,查找正确的发行者或实体ID。此ID是身份提供者的唯一标识符。根据您的提供商,发行者或实体ID通常看起来像这样
http://www.example.com/141xkex604w0Q5PN724v
- 从XML文件中复制发行者或实体ID。
- 转到Metabase,选择管理设置 > 设置 > 身份验证 > SAML。将发行者或实体ID输入到SAML身份提供者发行者字段中。
SAML身份提供者证书值是否正确?
在用您的身份提供者填写完身份验证表单后,您回到Metabase,但它会抛出一个错误。转到管理设置 > 故障排除 > 日志。您将看到一个类似以下错误:无效断言错误 <发行者>。
根本原因:您输入的证书值不正确。
采取的步骤:
-
转到Metabase,选择管理设置 > 设置 > 身份验证 > SAML。检查您输入到SAML身份提供者证书字段的证书是否与您从身份提供者那里获得的XML文件中的证书匹配。
-
根据您的提供商,您可能需要下载XML文件,在文本编辑器中打开它,然后将其内容复制并粘贴到Metabase中的SAML身份提供者证书字段。
-
请注意,您的证书文本可能包含类似
-----BEGIN CERTIFICATE-----
和-----END CERTIFICATE-----
的头部和尾部注释。当您将证书文本粘贴到Metabase中时,应包括这些注释。
-
SSO URL是否正确?
请验证您在SAML提供者网站上输入的单点登录URL(或等效)是否附加了/auth/sso
。例如,如果您希望用户最终到达https://metabase.mycompany.com
,则完整URL应为https://metabase.mycompany.com/auth/sso
。
搜索私钥时发现为null
此错误仅在使用已签名的SSO请求时发生。也就是说,在Metabase中,您已在管理设置 > 设置 > 身份验证 > SAML > 已签名的SSO请求的配置部分填写了字段。这些字段是
- SAML密钥库路径:用于签名SAML请求的密钥库文件的绝对路径。
- SAML密钥库密码:打开密钥库的密码。
- SAML密钥库别名:Metabase用于签名SAML请求的密钥的别名。
根本原因:密钥库文件中的证书缺少私钥。
采取的步骤:
- 将带私钥的证书添加到您的密钥库。
检查SAML是否正常工作
前往您的 Metabase 登录页面。如果 SAML 正常工作,您应该看到一个用于使用您的身份提供者(IdP)登录的单个按钮。点击此处登录。一旦您经过身份验证,系统应自动将您重定向到 Metabase 主页。
您是否仍然遇到问题?
如果您无法使用故障排除指南解决问题
- 搜索或向 Metabase 社区 咨询。
- 搜索已知的 错误或限制。
阅读其他 Metabase 版本的文档。