我正在尝试获取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缺少产生断言消息所需的任何样本。
如果需要澄清,请发表评论,因为我只是试图跳过第一道障碍。
答案 0 :(得分:0)
好的,所以在克隆ruby脚本的aggcat repo并修改断言消息的模板以使用常量而不是变量之后,然后将该断言消息与我的脚本生成的消息进行比较,我终于找到了为什么这是失败。为了确保sha1摘要是相同的并且签名是相同的,我必须使断言消息是相同的。
失败的原因是文档中的样本断言样本遍布整个地方:
缺少空间,让我有一件事就是这个元素: 这不是终止元素,需要结束标记。例如:
此外,也不需要xml doc type()。
答案 1 :(得分:0)
在使用intuit的开发人员文档进行了所有这些恶化之后,我决定让所有人免于试图将其置于混乱之中,并制作了一个名为intuit-cad的NPM模块,它构建了SAML断言并执行所有身份验证,以便您轻松地进行干净的API调用。此外,该模块建立在promises之上,使错误处理和回调地狱预防变得轻而易举。除了图书馆,我在这里有一篇简单的博客文章:intuit-cad blog post