Wir hatten das SAML-Plugin mit unserem AzureAD funktionsfähig, aber gestern, nachdem wir auf den letzten Commit aktualisiert hatten, traten folgende Fehler auf, als Benutzer versuchten, sich über SAML zu authentifizieren:
Anmelden
Entschuldigung, wir haben Probleme bei Ihrer Anmeldung.
AADSTS7500525: Es gab einen XML-Fehler in der SAML-Nachricht an Zeile 1, Position 1. Überprüfen Sie, ob der XML-Inhalt der SAML-Nachrichten den SAML-Protokollspezifikationen entspricht.
Die Commits vom Dezember enthalten viele Änderungen an SAML (z. B. Konfiguration über Website-Einstellungen), aber ich konnte nicht herausfinden, ob es Änderungen an SAML-Anfragen gab, die dies verursacht haben könnten.
SAML-Konfiguration (funktioniert bis zum Update OK):
Es tut mir leid zu hören, dass Sie Probleme haben! Sie haben Recht, dass ich in den letzten Wochen viel am SAML-Plugin refaktorisiert habe, daher könnte es damit zusammenhängen.
Wann passiert das? Wenn Benutzer den Login initiieren? Oder wenn sie zu Discourse zurückkehren?
Hätten Sie die Möglichkeit, Ihre Website-URL hier oder per PM zu teilen?
Dies geschieht immer, wenn ein Benutzer sich anmelden muss (eine Sitzung ist abgelaufen oder ein neuer Benutzer versucht, sich anzumelden).
Dies begann nach dem Update auf die Revision 9334abe249 (vorher war es 959923d3cf).
Entschuldigung, aber unser Forum wird intern in einem privaten AWS-Konto gehostet, sodass Sie von außerhalb unseres Netzwerks keinen Zugriff darauf haben.
Ich habe auch versucht, etwas in den Discourse-Logs zu finden, aber da der Fehler auf der Azure-Seite auftritt, habe ich dort keine Fehlermeldung gefunden.
In production.log stoppt der Anmeldevorgang hier (wahrscheinlich wartet er auf eine Rückmeldung von Azure):
Processing by StaticController#show as HTML
Parameters: {“id”=>“login”}
Rendered static/login.html.erb (Duration: 17.5ms | Allocations: 1440)
Completed 200 OK in 19ms (Views: 18.3ms | ActiveRecord: 0.0ms | Allocations: 2104)
Started GET “/session/csrf” for <> at 2021-12-14 18:28:16 -0300
Processing by SessionController#csrf as JSON
Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 337)
Started POST “/auth/saml” for <> at 2021-12-14 18:28:16 -0300
(saml) Setup endpoint detected, running now.
(saml) Request phase initiated.
Das für Azure zuständige Team versucht, das empfangene XML zu erhalten, damit wir vielleicht etwas “anderes” darin sehen können. Ich werde Sie informieren, wenn sie es mir schicken.
Der Fehler tritt auf, nachdem der Benutzer auf die Anmeldeschaltfläche klickt.
Dann wird er mit der folgenden Fehlermeldung zur Azure-Anmeldeseite weitergeleitet:
Es ist leider schwierig, hier ohne Zugriff auf die Website herauszufinden, was vor sich geht.
Der nächste Schritt wäre, zu versuchen, das XML zu erhalten, das von Azure empfangen wird, und herauszufinden, was damit falsch ist. Sie sollten dazu in der Lage sein, indem Sie die Nutzlast in den Entwicklertools des Browsers überprüfen und sie dann mit einem Tool wie diesem dekodieren.