【发布时间】:2016-07-17 14:58:20
【问题描述】:
我正在尝试通过 SAML 为我的 Influitive 集线器实施 SSO。我遵循了他们的文档here 并按照他们的规范设置了我的环境。我有我的证书的指纹以及通过 QueryString 处理他们的 SAMLRequest 的端点。
我正在使用here 概述的 Web 浏览器 SSO 用例。
为了形成我的 SAML 响应,我遵循了示例 here。
我还按照this 示例生成证书,以及生成然后签署我的 SAML 响应。但是,为了修复我的实现,我将签名方法更改为 SHA1。
为了提交我的表单,我将代码隐藏中的值绑定到一个 HTML 表单,该表单本质上是这样发布的:
<form method="post" action="https://{myhub}.influitive.com/saml/consume" />
<input type="hidden" name="SAMLResponse" value="{Base64EncodedStringofSAMLResponse}" />
<input type="hidden" name="RelayState" value="https://{myhub}.influitive.com/about" />
</form>
<script>
if ("{Base64EncodedStringofSAMLResponse}" != "") {
window.onload = function () {
document.forms[0].submit();
}
}
</script>
问题是每当我的表单 POST 时,我不断收到 500 Internal Server 错误,即使我的 SAML 响应已正确形成、签名和编码。我该如何解决这个问题?
【问题讨论】:
标签: c# single-sign-on saml