0

我正在尝试使用 Google Cloud Identity 平台将我的 Firebase 应用作为服务提供商连接到身份提供商。

使用这个优秀的教程,我能够为另一个 IdP(Jump-Cloud)做到这一点

由于某种原因,它不适用于我实际上需要与之集成的 IdP,并且在这里超出了我的深度,我并不真正了解问题所在。

我已经在 Google Cloud 中设置了所有内容以匹配 IdP ( Kennisnet ) 配置

云配置

另一方 Kennisnet 需要 Jump-Cloud 不需要的元数据。我看不到任何从谷歌云获取的方法,所以我使用了一个在线工具来创建以下内容

<?xml version="1.0"?>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
                     validUntil="2021-06-11T09:31:00Z"
                     cacheDuration="PT604800S"
                     entityID="https://ffleren-dev.web.app/">
    <md:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
        <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
        <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
                                     Location="https://ffleren-dev.firebaseapp.com/__/auth/handler"
                                     index="1" />
    </md:SPSSODescriptor>
</md:EntityDescriptor>

这大约是我在 afaik 端可以配置的量,但集成会在其端引发错误(错误 500 没有任何详细信息)。我已经询问了他们的日志,他们很友好地发送了它们。

Jun 17 08:52:48 federatie-stg-auth01 hub ERROR: com.alfaariss.oa.authentication.remote.saml2.profile.re.ResponseEndpoint The binding is not supported by this protocol: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect
Jun 17 08:52:48 federatie-stg-auth01 hub ERROR: com.alfaariss.oa.OAServlet Could not process request

所以我现在的问题是:
任何人都可以从这个错误中得到正面或反面吗?我生成的元数据与 Firebase 如何处理 SAML 之间是否存在不匹配?我试图在绑定中更改HTTP-POSTHTTP-Redirect,但它显然会产生相同的结果。也许完全是别的东西?

signInWithPopup在客户端上使用 AngularFire(与 Firebase.auth 本身的结果相同)。

const provider = new auth.SAMLAuthProvider('saml.kennisnet-staging');
return this.afAuth
  .signInWithPopup(provider)
  .catch((e) => console.error(e.message));

查看问题的链接:https ://ffleren-dev.web.app/login

4

0 回答 0