【问题标题】:Intuit Customer Account Data (CAD) SAML Assertion returning Ambiguous Error MessageIntuit 客户帐户数据 (CAD) SAML 断言返回不明确的错误消息
【发布时间】:2023-04-01 01:46:01
【问题描述】:

我正在尝试获取 oauth 令牌以使用 CAD API,但是,我不断收到此错误:

Signature on SAML token is INVALID commentary: [Verification against Static Certificate not supported in this scenario.

由于他们没有 NPM 或 NodeJS,我已经开始创建一个,但是,我对 SAML 断言请求感到困惑。到目前为止,我已经移植了这个 ruby​​ gem,用于发出 saml 请求以获取新的 oauth 令牌,该令牌位于此处:

https://github.com/cloocher/aggcat/blob/master/lib/aggcat/base.rb(第 70 行)def saml_message...

我的第一次尝试并不整洁,但我只是想验证我可以使用 NodeJS 发出 SAML 请求并获得包含 oauth 令牌的响应。

可以在以下位置找到此 NodeJS 脚本的源代码: https://github.com/britztopher/intuit-cad/blob/master/server/saml2.js

可以在此处找到用于发出此请求的 Intuit 文档:

Intuits CAD Doc 缺少生成断言消息所需的任何类型的样本。

如果需要任何澄清,请发表评论,因为我只是想跳过这第一道障碍。

【问题讨论】:

    标签: ruby node.js oauth saml-2.0 intuit


    【解决方案1】:

    好的,所以在为 ruby​​ 脚本克隆 aggcat 存储库并修改断言消息的模板以使用常量而不是变量然后将该断言消息与我的脚本生成的断言消息进行比较之后,我终于找到了原因失败。为了确保 sha1 摘要和签名相同,我必须使断言消息相同。

    失败的原因是文档中的 sample Assertion Sample 到处都是错误的:

    https://developer.intuit.com/docs/0020_customeraccountdata/009_using_customeraccountdata/0010_gettingstarted/0025_making_your_first_connection/saml_assertion_sample

    缺少空格,让我感动的一件事是这个元素: 这不是终止元素,需要结束标记。例如:

    另外,xml doc type () 也不需要。

    【讨论】:

      【解决方案2】:

      在对 intuit 的开发人员文档进行了所有这些恶化之后,我决定免去大家试图跟随它混淆的麻烦,并制作了一个名为 intuit-cad 的 NPM 模块,它构建 SAML 断言并执行所有身份验证,以便您可以轻松地进行干净的 API 调用。此外,这个模块是建立在 Promise 之上的,这使得错误处理和回调地狱预防变得轻而易举。除了图书馆,我在这里有一篇关于它的简单博客文章:intuit-cad blog post

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-21
        相关资源
        最近更新 更多