تمكنت بطريقة ما من إعداد Keycloak للتحقق من الأمان عبر SAML مع Discourse، وحتى إنشاء المستخدمين بشكل شفاف يعمل بنجاح.
لكن الآن هناك مشكلة في تمرير حقول المستخدم.
لقد قمت بتعيين ما يلي من خرائط الحقول في إعدادات SAML بـ Keycloak (ووجدتها على الإنترنت):
عند تسجيل الدخول إلى Discourse، يتم إنشاء مستخدم جديد عبر Keycloak. وهذا ما يبدو عليه المستخدم في Keycloak:
بعد ذلك، يتم نقل المستخدم المنشأ إلى Discourse. وهذا ما يبدو عليه نقل الحقول التي تم تعيين خرائطها إلى Discourse:
.............................
<saml:AttributeStatement>
<saml:Attribute FriendlyName="Email" Name="email" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
<saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">a.nakhimov@yandex.ru</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute FriendlyName="Username" Name="name" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
<saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">v.pupkin</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
........................
وهذا ما يبدو عليه المستخدم المُرسَل في Discourse:
النقاط 1 و3 و4 صحيحة تمامًا. لكنني لا أحب النقطة 2… في Keycloak، يمتلك المستخدم اسمًا أولًا وآخرًا طبيعيًا. لماذا تم الاحتفاظ فقط بالحرف الأول من الاسم الأول في Discourse؟ هل هناك طريقة لإصلاح ذلك؟ ربما أحتاج إلى إجراء تعيين آخر في SAML؟



