当前位置: 首页 > 知识库问答 >
问题:

KeyCloak作为IDP到Salesforce SP-SP启动的SSO不工作

秦伯寅
2023-03-14

我是KeyClope的新手,正在尝试将其配置为SalesForce客户端的SAML IDP。IDP启动的SSO流工作正常。我被引导到Salesforce主页正确地进行身份验证。然而,SP启动的SSO给了我一个JSON输出,而不是KeyClope登录页面。

这是SalesForce重定向到的URL(屏蔽IP):http://10.99.xxx.xxx:8080/auth/realms/test?SAMLRequest=...SAML跟踪器指示有效的SAML身份验证请求。

<?xml version="1.0" encoding="UTF-8"?>
<samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
                    AssertionConsumerServiceURL="https://f-corpcont--dev.my.salesforce.com?so=00D3K000000lOS"
                    Destination="http://10.99.xxx.xxx:8080/auth/realms/test"
                    ID="_2CAAAAXJxZQlkME8wswMDAwMDAwMDA2AAAA3kJle3T1o4lEOE9QztKYIVXwLjlHOcfEaw-7mLWvYqmEiPv5SS32lT0WcQIbjXTP-qO779xPjACwqlhiGs9ZM8ZmltHZd6stzimY1Br3b1_5PqBgWxExV7R1FAAxZ914_3s8rViWWGxmKKGFN94OG2WBh3SMPF3WwGagDIZLRKtSpcGIDCGkuYERb_DR0LgOflx-C0kF7XqKdtU8OTTbk0HpoCKQ8oRh58Mai1eFlqgKf50rdGsFQmCQa-Sg0-JyZg"
                    IssueInstant="2020-05-04T19:39:22.807Z"
                    ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
                    Version="2.0">
  <saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">https://f-corpcont--dev.my.salesforce.com</saml:Issuer>
</samlp:AuthnRequest>

我在浏览器中看到的JSON输出是:

{
    "realm": "test",
    "public_key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqHobhU5mQ2itvVfkDWm64sLgT9dfoCNm137ul+A7YRNSXk5g0JEGxoZLVdicRQUx0mr4z6BEM+LN/mztSsigG0aQIqUY8y1un33kBk5gE6W3jaFDX6Rsap/lcXIoO7Jl/pzjAxf3R8RyMMhFQ4Hi1rHl2wSXMWfeNLaoLrzy+LEG1KNZpfhbfG1HUa5fEYpI0sSWEEgcP3faEy2JWOJrfJrcS1tezDD+7x4u+fTUJt0M8vsIjMDAX9UUu+JXnG901a15drj9UjYJyiMJTFQt3Rdrxv96XZa93fKyB36an5GDZWPiwEehtjAJ4mQ0oo0v/TmevoJwZd7YTvClQIDAQAB",
    "token-service": "http://10.99.xxx.xxx:8080/auth/realms/test/protocol/openid-connect",
    "account-service": "http://10.99.xxx.xxx:8080/auth/realms/test/account",
    "tokens-not-before": 0
}

如有任何指示,将不胜感激

共有1个答案

滕成双
2023-03-14

您对SAML请求使用了错误的URL。错误:

http://10.99.xxx.xxx:8080/auth/realms/test?SAMLRequest=

正确:

http://10.99.xxx.xxx:8080/auth/realms/test/protocol/saml?SAMLRequest=
 类似资料:
  • 这个问题是在基于SAML的IDP发起的SSO领域。作为一个POC,我有两个keycloak实例,比如keycloak1和KeyCloak2。我想做到以下几点: > 身份验证将在keycloak1上完成 keycloak1然后指向keycloak2以访问keycloak2客户端应用程序。 b)单击上面创建的saml客户端-->安装-->导出saml元数据IDPSSODescriptor并保存为sam

  • 我已经配置了OpenAM IdP和SP。我正在纠结于IdP发起的SSO URL和SP发起的SSO URL。我使用以下格式的IdP发起的单点登录网址。但是我得到错误< code >服务提供商ID为空。 http://testtestidam.com:8080/openam/idpssoinit?metaAlias=/realm1/idp 任何人都可以帮忙吗?

  • 我通过以下步骤在Azure广告中创建了应用程序: 1-登录到Azure AD,单击应用程序选项卡,添加按钮。 2-选择"添加我的组织正在开发的应用程序"。 3-选择“Web应用程序和/或Web api”。 4-登录url“给出”https://mywebapplication.com/“应用程序内ID URI插入任意随机url。 5-创建应用程序后,转到“配置”选项卡,并将url回复为“https

  • 如何从SAML响应中判断是SP启动的SSO还是IDP启动的SSO?是否有一个属性告诉我是谁发起了SSO? 例如,在这个StackOverflow问题中:SP发起的SSO和IDP发起的SSO之间的差异,他们讨论了差异,但没有谈论XML级别本身...... SAML响应如下所示:

  • 我已成功配置SAML SSO,其中OpenAM为SP,PingFederate为IDP,SP启动SSO并使用重定向后绑定。我正在使用kerberos适配器实现SSO。 但是,我无法将RelayState参数从OpenAM传递给PF,并在成功验证后将其作为SAML自动post表单的一部分取回。它总是重定向到OpenAM断言处理服务,即OpenAM/metalias/sp 我试过的事情- > SAML

  • 我正在进行SP启动的SSO。 IDP是PingOne 我一直在做IDP发起的SSO。 因此,我们有IDP启动的SSO设置,一切都很正常。我们现在必须让它启动。 我理解它背后的理论,但我不知道如何实施它! 到目前为止,我在想我需要给他们的网址是这样的,也许???: https://sso/saml2/jsp/spSSOInit.jsp?metaAlias=/{idpRealm}/sp 但是当我击中它