Erste Schritte mit SAML2.0
Ich versuche, meine erste SSO-integration mit Hilfe von SAML 2.0. Ich habe mit:
http://www.codeproject.com/KB/aspnet/DotNetSamlPost.aspx?msg=3562384
als Beispiel für mich selbst.
Derzeit bin ich nur versuchen, erfolgreich post an Ihre url. Die Website wir verbinden sind, ist ziemlich groß und mit einer Lösung von ping-Identität zu verwalten, Ihre sso, die oft zu geben scheint mir wenig hilfreich, Fehler. Ich habe gearbeitet, durch wenige, aber dieser hat mich ratlos:
UnknownBindingException: Anfrage enthält
Unzureichende Informationen, um zu bestimmen, die Protokoll-Bindung (hast du Typ
ein Protokoll-Endpunkt-URL direkt in die Adresszeile Ihres
browser?).
Hat jemand eine Idee was den Fehler verursachen, meine saml, dass ich die Buchung sieht wie folgt aus:
<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>
Jede Hilfe ist sehr willkommen,
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als ich deine Frage Lesen, Ihre Anwendung wird ein ServiceProvider (SP) in einem SAML2 Föderation, wo Ping ist die IdentityProvider (IdP). Und Sie haben tagged die Frage, c#, daher gehe ich davon aus, dass die SP umgesetzt wird .Net
Dem SAML2-framework verwenden Sie, oder haben Sie Ihre eigenen Rollen? Wenn Sie tun, Ihre eigene SAML2 Rahmen, würde ich empfehlen OIOSAML.net das ist open source unter der Mozilla-Lizenz (frei für jeden Zweck zu nutzen). Sie können sich die source-hier: http://view.svn.softwareborsen.dk/cgi-bin/index.cgi/Softwareborsen/oiosaml.net/branches/
(alle Unterlagen in Englisch).
Es ist aktiv gepflegt, von der dänischen Regierung, und es wurde interop getestet mit Ping, ADFSv2, SimpleSamlPhp, und viele andere SAML2-IdP ist. Es ist zurzeit verwendet durch Hunderte von dänischen Webseiten, auf die in einer Föderation mit Ping als IdP.
Bezug auf die Ausnahme, die Sie erhalten, die verbindlich sind, die Sie beabsichtigen zu verwenden: - HTTP-Redirect, oder etwas anderes? Vorausgesetzt, es ist eine HTTP-Umleitung, ich empfehle die Lektüre der relevanten Kapitel Start auf p15 in SAML2 binding Spezifikation: http://docs.oasis-open.org/security/saml/v2.0/saml-bindings-2.0-os.pdf
Klingt wie Sie entweder A) Senden Sie die Behauptung per GET-Methode anstelle von POST-oder B) Sie haben nicht das richtige Format, das HTML-Formular enthält die Behauptung, die gesendet wird, um Ihrem partner.