لقد واجهت نفس المشكلة أثناء اختبار تكامل SAML وتمكنت أخيرًا من جعله يعمل. مع تمكين السجلات، تحقق من محتوى @attributes، فهذه هي المفاتيح الفعلية التي تحتاجها للربط وليس الاسم الودي. وهي تتوافق مع السمة Name من بيانات XML. في حالتي، أصبح الربط داخل app.yml كالتالي:
ربما ليس المكان المناسب ولكن فقط للإضافة، ستحتاج إلى البريد الإلكتروني و الاسم و الاسم الأول و اسم العائلة و معرف المستخدم مثل سمة Discourse لاستخدام المكون الإضافي SAML.
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
هذا الجزء من الكود (مع الأخذ في الاعتبار أنني لست مبرمج Ruby) يشير إلى أنك بحاجة إلى تعيين جميع السمات إلى سماتك التي قد يعمل بها النظام … سأحاول اختبار تلك المعلومات (لدي مشكلة في لحظة مع إضافة SAML وأحاول التحقيق في المشكلات).