Fehler “WIF10201:Keine gültige Schlüsselzuordnung gefunden" beim Versuch, Ansprüche aus SAML zu erstellen
-
21-12-2019 - |
Frage
Ich versuche, eine SAML-Antwort zu validieren, die von Siteminder IDP von einem Dritten kommt.Ich habe das von ihnen bereitgestellte Zertifikat installiert.Wenn ich das anrufe ValidateToken methode (System.Identitätsmodell.Token), um Ansprüche zu erstellen, erhalte ich folgende Fehlermeldung :
EHEFRAU10201:Keine gültige Schlüsselzuordnung gefunden für SecurityToken:'System.Identitätsmodell.Token.X509SecurityToken' und Emittent:'Aussteller-URI'
Ich habe tief gegraben, um den Fehler zu finden und er wird von der Methode ausgelöst GetIssuerName (System.Identitätsmodell.Token).
Wo ist das Problem?Ich habe nach diesem Problem gegoogelt, aber nichts Spezifisches für meinen Fall gefunden.Hat das SAML-Token meines Kunden ein Problem oder fehlt mir bei der Implementierung etwas.Ich bin ziemlich neu in der föderierten Authentifizierung, bitte entschuldigen Sie daher etwaige Ungenauigkeiten mit der verwendeten Terminologie.
Gaurav
Lösung
ok, fand die Lösung, konnte den Readon jedoch nicht verstehen (komplett noob, wird die Antwort aktualisieren, wenn ich mehr weiß).
folgte diesem Ansatz, um die SAML2-Antwort auf die WSFED-Antwort umzuwandeln, und dann auf diesem neuen Token habe ich meinen Code geführt, jetzt ist der Fehler weg.
generasacodicetagpre.Andere Tipps
Sie fehlen wahrscheinlich eine Konfiguration, die den Namen des Emittenten (wie im Inneren des Tokens angegeben) an das Zertifikat abbildet (wahrscheinlich mit einem Thinprint angegeben).Ich denke, Sie lösen dies mit einer Konfiguration in Ihrem Web.config.Schauen Sie sich einen Blick auf S.e. Microsoft Validiering Emittent Name Registry Die Seite enthält eine Sample-Konfiguration.Das Einstellen des Aufstellens ist richtig von Ihrer Situation abhängig.
Ich wollte mir eine Notiz zum späteren Nachschlagen machen, da ich auch auf diesen Fehler gestoßen bin, aber meine Auflösung war anders.Ich habe den Fehler WIF10201 in einer benutzerdefinierten MVC-Anwendung erhalten, die die anspruchsbasierte Authentifizierung von ADFS (3.0) unter Windows Server 2012 verwendet.In der web.config
von der MVC-Anwendung wird der Fingerabdruck des ADFS-Token-Signaturschlüssels aufgezeichnet.Es stellt sich heraus, dass ADFS einen neuen Schlüssel erstellt, wenn das Signaturzertifikat bald abläuft.Der neue Schlüssel ist in der ADFS-Konsole (unter AD FS/Service /Certificates) als "primär" und der alte Schlüssel als "sekundär" gekennzeichnet.Also in meinem web.config
da war natürlich noch der Daumenabdruck des alten (Sekundär-) Schlüssels.Sobald ich es durch den Fingerabdruck des neuen (Primär-) Schlüssels ersetzt habe, ist der Fehler verschwunden.