12

我正在使用 Keycloak 版本 1.6.1,作为独立应用程序新安装。

Keycloak 应该充当名为 Tableau 的 SP(服务提供者)的 IdP(身份提供者)。

我已阅读此页面:http ://blog.keycloak.org/2015/03/picketlink-and-keycloak-projects-are.html

... Keycloak 从身份代理成长为成熟的身份提供者

虽然它是一个身份代理,但它现在也是一个身份提供者。

我的问题是:

我已经从 Tableau 导出了 SP XML 元数据,并将其导入 Keycloak,但是当涉及从 Keycloak 导出 IdP XML 元数据(应该导入 Tableau)时,我找不到任何关于如何操作的按钮/命令/指南导出此 XML 文件。

我与其他 IdP 合作过,他们都支持 IdP 元数据的导出,您可以在此处查看示例:https ://docs.oracle.com/cd/E19636-01/819-7664/g2enua/index.html

如果我搜索 Keycloak 和关键字 IDPSSODescriptor,我会发现: grepcode.com/file/repo1.maven.org/maven2/org.keycloak/keycloak-saml-protocol/1.1.0.Beta2/idp-metadata-template.xml

这正是我需要的“模板”,在所有 ${idp.sso.HTTP-POST} 等地方都有正确的链接。

我应该手动创建文件 - 如果是这样,我如何找到正确的 POST、REDIRECT 等 URL?

或者有什么方法可以导出我没见过的这个文件?

4

3 回答 3

22

从 Keycloak 3.x 开始,IdP XML 描述符在 keycloak-url 之后需要/auth/

https://{KEYCLOAK-URL}/auth/realms/{REALM-NAME}/protocol/saml/descriptor
于 2018-03-09T11:24:58.983 回答
22

有时,以书面形式指定您需要的东西是一件好事——我在 Stack Overflow 上就是这样做的。

我找到了 Keycloak 上可以导出 IdP XML 的 URL

https://keycloak-url/realms/{REALM-NAME}/protocol/saml/descriptor

这给了我 IDPSSODescriptor。

我将把这个线程留在这里,这样人们可以从我的错误中受益。

于 2015-11-05T11:52:48.967 回答
6

原始海报是正确的,该选项SAML Metadata IDPSSODescriptor在 Keycloak 上不再可用6.0.1

要做的一项更改是,当您使用 URL 时https://{KEYCLOAK-URL}/auth/realms/{REALM-NAME}/protocol/saml/descriptor,Rancher 期望根元素是EntityDescriptor ,因此您需要EntitiesDescriptor从根元素中删除并复制命名空间。

IE

<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" entityID="https://{KEYCLOAK-URL}/auth/realms/{REALM-NAME}">
  ....

</EntityDescriptor>
于 2019-08-13T01:20:08.383 回答