Ich bin auf dasselbe Problem gestoßen, als ich die SAML-Integration getestet habe, und es endlich zum Laufen gebracht. Wenn die Protokolle aktiviert sind, überprüfen Sie den Inhalt von @attributes. Dies sind die tatsächlichen Schlüssel, die Sie für die Zuordnung benötigen, und nicht der Anzeigename. Sie entsprechen dem Name-Attribut aus den XML-Daten. In meinem Fall wurde die Zuordnung in app.yml wie folgt vorgenommen:
Es ist auch wichtig, nach Änderungen an der Konfiguration neu zu erstellen. Danach wurde der E-Mail-Wert aus meiner SAML-Antwort ordnungsgemäß zugeordnet.
Wahrscheinlich ist dies nicht der richtige Ort, aber nur zur Ergänzung: Sie benötigen E-Mail, Name, Vorname, Nachname und UID als Discourse-Attribute, um das SAML-Plugin verwenden zu können.
def attribute_statements
result = {}
statements =
"name:fullName,name|email:email,mail|first_name:first_name,firstname,firstName|last_name:last_name,lastname,lastName|nickname:screenName"
custom_statements = setting(:attribute_statements)
statements = "#{statements}|#{custom_statements}" if custom_statements.present?
statements
.split("|")
.map do |statement|
attrs = statement.split(":", 2)
next if attrs.count != 2
(result[attrs[0]] ||= []) << attrs[1].split(",")
result[attrs[0]].flatten!
end
result
end
Dieser Teil des Codes (beachten Sie, dass ich kein Ruby-Programmierer bin) legt nahe, dass Sie alle Attribute Ihren Attributen zuordnen müssen, damit das System funktionieren kann … Ich werde versuchen, diese Informationen zu testen (ich habe im Moment ein Problem mit dem SAML-Plugin und versuche, die Probleme zu untersuchen).