首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SAML2.0入门

SAML2.0入门
EN

Stack Overflow用户
提问于 2010-08-21 05:01:28
回答 2查看 5.3K关注 0票数 0

我正在尝试使用SAML2.0进行我的第一次SSO集成。我一直在用:

http://www.codeproject.com/KB/aspnet/DotNetSamlPost.aspx?msg=3562384

作为我自己的一个例子。

目前,我只是想成功地发布到他们的网址。我们连接的站点非常大,并且使用ping-identity的解决方案来管理他们的sso,这似乎给我带来的帮助很小。我已经解决了几个问题,但这一点让我感到困惑:

UnknownBindingException:请求包含的信息不足,无法确定协议绑定(是否直接在浏览器的地址栏中键入了协议终结点?)。

有人知道这可能是什么原因吗,我发布的saml是这样的:

代码语言:javascript
复制
<Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ID="_3b052151-fb4f-4e10-89bd-d65ef5141e9d" Version="2.0" IssueInstant="2010-08-20T20:36:02.8093696Z" Destination="https://******/sp/ACS.saml2" xmlns="urn:oasis:names:tc:SAML:2.0:protocol">
  <Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">www.******.org</Issuer>
  <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
    <SignedInfo>
      <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
      <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
      <Reference URI="#_3b052151-fb4f-4e10-89bd-d65ef5141e9d">
        <Transforms>
          <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
          <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
        </Transforms>
        <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
        <DigestValue>****</DigestValue>
      </Reference>
    </SignedInfo>
    <SignatureValue>*******</SignatureValue>
  </Signature>
  <Status>
    <StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" />
  </Status>
  <Assertion Version="2.0" ID="_d0f34b54-cf0b-49c7-9a50-f60842b7e0d2" IssueInstant="2010-08-20T20:36:02.8103697Z" xmlns="urn:oasis:names:tc:SAML:2.0:assertion">
    <Issuer>www.*******.org</Issuer>
    <Subject>
      <NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">adamb</NameID>
      <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
        <SubjectConfirmationData NotOnOrAfter="2010-08-20T20:41:02.8103697Z" Recipient="https://*****.com:9031/sp/ACS.saml2" />
      </SubjectConfirmation>
    </Subject>
    <Conditions NotBefore="2010-08-20T20:36:02.8103697Z" NotOnOrAfter="2010-08-20T20:41:02.8103697Z">
      <AudienceRestriction>
        <Audience>*****</Audience>
      </AudienceRestriction>
    </Conditions>
    <AuthnStatement AuthnInstant="2010-08-20T20:36:02.8103697Z">
      <AuthnContext>
     <AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified</AuthnContextClassRef>
      </AuthnContext>
    </AuthnStatement>
  </Assertion>
</Response>

任何帮助都非常感谢,

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-01 19:34:49

当我读到您的问题时,您的应用程序将成为SAML2联合中的ServiceProvider (SP),其中Ping是IdentityProvider (IdP)。您已经标记了问题c#,所以我假设您的SP是在.Net中实现的

你使用的是哪种SAML2框架,还是你自己的?如果你正在做你自己的SAML2框架,我建议你使用OIOSAML.net,它是基于Mozilla许可的开源软件(任何用途都可以免费使用)。你可以在这里查看源代码:http://view.svn.softwareborsen.dk/cgi-bin/index.cgi/Softwareborsen/oiosaml.net/branches/ (所有文档都是英文的)。

它由丹麦政府积极维护,并已与Ping、ADFSv2、SimpleSamlPhp和许多其他SAML2 IdP进行了互操作测试。目前,数以百计的丹麦网站在与Ping作为IdP的联盟中使用它。

关于您收到的异常,您打算使用哪种绑定: HTTP重定向,还是其他什么?假设它是HTTP重定向,我建议阅读SAML2绑定规范中从p15开始的相关部分:http://docs.oasis-open.org/security/saml/v2.0/saml-bindings-2.0-os.pdf

票数 3
EN

Stack Overflow用户

发布于 2010-08-23 20:03:04

听起来您要么是A)通过GET方法而不是POST发送断言,要么是B)您没有正确格式化包含要发送给合作伙伴的断言的HTML表单。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3534881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档