我已经设置了一个密钥披风服务器。然后,我在那个领域中创建了一个领域,一个SAML。因此,我的keycloak服务器是一个SAML,它使用该IDP进行身份验证。IDP需要SAML元数据。我可以在IDP条目的“导出”选项卡中的keycloak管理控制台中导出它。我也可以在这里下载:
http[s]://{host:port}/auth/realms/{realm-name}/broker/{broker-alias}/endpoint/descriptor但是元数据不包含X509证书:
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" entityID="https://keycloak.sample/auth/realms/nodejs-example">
<SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false"
protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol urn:oasis:names:tc:SAML:1.1:protocol http://schemas.xmlsoap.org/ws/2003/07/secext">
<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://keycloak.sample/auth/realms/nodejs-example/broker/idp.devel/endpoint"/>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
</NameIDFormat>
<AssertionConsumerService
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://keycloak.sample/auth/realms/nodejs-example/broker/idp.devel/endpoint"
index="1" isDefault="true" />
</SPSSODescriptor>
</EntityDescriptor>我如何在元数据中加入一个?
发布于 2019-09-20 07:24:22
根据winstonhongs的回答,密钥披风服务器在此配置中不需要证书。我将instantly中的“希望断言加密”设置为ON,并立即将X509Certificate条目显示在Export中。
发布于 2019-09-18 13:30:40
问题:SAML元数据不包含X509证书。
我如何在元数据中加入一个?
答案
如果(I) Keycloak确实需要签署SAML身份验证请求,或者(II) IdP is NOT需要加密密钥披风SAML SP的SAML断言,则可以确定密钥披风的SAML的SAML元数据不包含X509证书。
(1) SAML元数据不一定包含证书,而不一定包含X509证书。也就是说,对于SAML元数据来说,X509证书不是必需的。
例如,Google和ComponentSpace都提供没有X509证书的SAML元数据。
(I) 谷歌G套房的SAML元数据不包含,而不是,包含X509证书。我将Google的SAML元数据上传到Shibboleth SAML IdP服务器,然后通过Shibboleth提供的SAML身份验证登录到Google。
为了便于您参考没有X509证书的SAML元数据,我制作了第十四次将Google元数据和相应的SAML配置上传到GitHub存储库的如何使用Docker容器构建和运行Shibboleth、IdP和SP。
(II) ComponentSpace开发提供关于如何生成没有证书的SAML服务提供程序元数据的指南。。
没有指定签名或加密证书,因此生成的元数据中没有包含证书。
ExportMetadata.exe
SAML configuration file to export [saml.config]:
X.509 signature certificate file [None]:
X.509 encryption certificate file [None]:
Assertion Consumer Service URL [None]: http://localhost:51901/SAML/AssertionConsumerService.aspx
Single Logout Service URL [None]:
Partner Identity Provider Name [None]:
SAML metadata file [metadata.xml]:(2)如果SAML SP需要签名SAML身份验证请求或SAML IdP需要加密SAML断言,则SAML SP元数据需要包含SAML证书。
(3)与SAML完全不同的是,SAML IdP元数据至少应该包含一个用于签名SAML响应/断言的X509证书。
后续答案由Galdor提供
如果您需要SAML来加密Keycloak的SAML断言
(I)将instantly中的“要加密的断言”设置为上的,然后X509Certificate条目立即出现在Export中。
(II)下载Keycloak的SAML元数据,该元数据应包含用于加密的X509证书。
发布于 2021-05-27 11:27:53
现在,您可以在KC 13.0.1中使用您的领域键区来唱歌您的元数据。在这里查看更多信息:管理员/#saml-v2-0-标识-提供者
签名服务提供者元数据-如果为真,它将使用领域的键区签署SAML服务提供者元数据描述符。
https://stackoverflow.com/questions/57988599
复制相似问题