Node.js 如何调试与zendesk的SSO SAML集成
我正在与zendesk建立单一登录SAML服务。我正在使用node/express和 Zendesk是SP, 我的SAML服务器有自己的IdP 用户操作步骤如下: 导航到account.zendesk.com并重定向到account.com/login?SAMLRequest=asdfasdfsd 然后,用户输入凭据并发布到节点服务器。 在服务器上,我能够解析*SAMLRequest,验证用户并给用户一个SAMLResponse 用户从节点服务器接收SAMLResponse并重定向到:account.zendesk.com?SAMLResponse=asdfasdf&RelayState=xxx 此时,用户会得到一个找不到的页面。我不确定我做错了什么,在这一点上,我猜测我的SAMLResponse要么格式错误,要么我将用户重定向到错误的地址 PS:最初samlp不能立即工作,我分叉了回购协议并更新了几个依赖项,它开始工作Node.js 如何调试与zendesk的SSO SAML集成,node.js,express,single-sign-on,saml,zendesk,Node.js,Express,Single Sign On,Saml,Zendesk,我正在与zendesk建立单一登录SAML服务。我正在使用node/express和 Zendesk是SP, 我的SAML服务器有自己的IdP 用户操作步骤如下: 导航到account.zendesk.com并重定向到account.com/login?SAMLRequest=asdfasdfsd 然后,用户输入凭据并发布到节点服务器。 在服务器上,我能够解析*SAMLRequest,验证用户并给用户一个SAMLResponse 用户从节点服务器接收SAMLResponse并重定向到:accou
*最初我无法从zendesk解析SAMLRequest。当我在查询参数上使用decodeURIComponent时,有新行字符和空格,我用“+”替换了它们,这使它工作起来。然后我意识到他们的查询参数似乎不是URI编码的…首先,SAML响应没有SAML重定向绑定。可以在HTTP POST中以表单编码参数的形式发送SAML响应,但不能在重定向中以查询参数的形式传递。您的SAML IDP实现不符合规范,因此Zendesk可能会拒绝该消息 见:
首先,SAML响应没有SAML重定向绑定。可以在HTTP POST中以表单编码参数的形式发送SAML响应,但不能在重定向中以查询参数的形式传递。您的SAML IDP实现不符合规范,因此Zendesk可能会拒绝该消息 见:
首先,SAML响应没有SAML重定向绑定。可以在HTTP POST中以表单编码参数的形式发送SAML响应,但不能在重定向中以查询参数的形式传递。您的SAML IDP实现不符合规范,因此Zendesk可能会拒绝该消息 见:
首先,SAML响应没有SAML重定向绑定。可以在HTTP POST中以表单编码参数的形式发送SAML响应,但不能在重定向中以查询参数的形式传递。您的SAML IDP实现不符合规范,因此Zendesk可能会拒绝该消息 见:
事实上,正如@hans-z已经提到的,一个相同的响应总是通过POST发送!您可以通过在页面加载(通过JavaScript)时自动提交表单(包含SAMLResponse)的页面来触发此浏览器帖子
既然您正在发送帖子,那么您的SAMLResponse应该不再是URL编码的了。事实上,正如@hans-z已经提到的,SAMLResponse总是通过帖子发送的!您可以通过在页面加载(通过JavaScript)时自动提交表单(包含SAMLResponse)的页面来触发此浏览器帖子
既然您正在发送帖子,那么您的SAMLResponse应该不再是URL编码的了。事实上,正如@hans-z已经提到的,SAMLResponse总是通过帖子发送的!您可以通过在页面加载(通过JavaScript)时自动提交表单(包含SAMLResponse)的页面来触发此浏览器帖子 由于您正在发送帖子,因此您的相同响应