Zammad: علامة واحدة على

تم إنشاؤها على ٢٠ يونيو ٢٠١٧  ·  30تعليقات  ·  مصدر: zammad/zammad

معلومات:

  • نسخة زمماد المستعملة: الأحدث
  • مصدر التثبيت المستخدم لـ Zammad: rpm
  • نظام التشغيل: CentOS 7
  • إصدار المتصفح +: Firefox الأحدث

هذا سؤال بخصوص الدخول الموحد. نحن نستخدم Microsoft Active Directory في شركتنا ويعمل تسجيل الدخول بشكل جيد مع مزامنة ldap.
أتساءل عما إذا كان الدخول الموحد سيكون ممكنًا. لقد حاولت بالفعل إعداده باستخدام nginx ، لكنه لن يعمل :-(

هل هناك طريقة سهلة للقيام بذلك؟ ربما قام أحدكم بالفعل بإعداد Zammad مع SSO؟ سيكون لطيفًا إذا كان لدى شخص ما تعليمات أو بعض الأمثلة حول كيفية تنفيذها.

شكرا لكم مقدما.

authentication documentation feature backlog prioritised by payment verified

التعليق الأكثر فائدة

وصل تسجيل الدخول الفردي أخيرًا إلى develop بفضل rlue ! سيكون جزءًا من الإصدار 3.2 القادم في غضون أسابيع قليلة. يرجى ملاحظة أن تحديث مثيلات Zammad باستخدام فرع develop معطل حاليًا. نحن نعمل على ذلك. ومع ذلك ، يمكنك اختبار SSO في نظام (اختبار) جديد زمماد.

MrGeneration ، هل يمكنك من فضلك تمديد الوثائق لتشمل تكوين SSO في خانة وقت الفراغ التالية؟

ال 30 كومينتر

مرحبًا @ jaeger13 ،

هذا ممكن بالطبع. لكن عليك استخدام Apache httpd مع mod_auth_kerb ، بتكوين مثل هذا:

<LocationMatch "/auth/sso">
  SSLRequireSSL
  AuthType Kerberos
  AuthName "Your Zammad"
  KrbMethodNegotiate On
  KrbMethodK5Passwd On
  KrbAuthRealms YOUR.REALM
  KrbLocalUserMapping on
  KrbServiceName HTTP/[email protected]
  Krb5KeyTab /etc/httpd/zammad.keytab
  require valid-user
</LocationMatch>

اعتمادًا على سمة uid المختارة (ist sAMAccountName في المثال أعلاه) ستعمل خارج المربع.

ويجب عليك تكوين Apache كوكيل عكسي بدلاً من nginx.

طالما أن وحدة المصادقة تعرض اسم المستخدم المصادق عليه في متغير البيئة REMOTE_USER أو HTTP_REMOTE_USER ، فمن الممكن استخدام وحدات أخرى مثل auth_mellon وما إلى ذلك.

حث ، روي

مرحبًا rkaldung ،

أشكركم على الإجابة السريعة الخاصة بك. سأحاول ذلك مع Apache وإرشاداتك :-)
على الرغم من أنني كنت أتمنى أن تكون هناك طريقة للقيام بذلك باستخدام nginx :-(

شكرا!

مرحبًا @ jaeger13 ،

هناك طريقة مع nginx ، لكن بدون اختبار في الوقت الحالي. @ مارتيني لديك سنتان على هذا؟

مرحبا rkaldung

هل يمكنك وصف الطريقة مع NGINX؟ هذا ايضا سوف يثير اهتمامي كثيرا شكرا.

مرحبًا @ scimitar4444

rkaldung تعني تطبيقًا على مستوى القضبان مثل https://github.com/jgraichen/omniauth-kerberos - ولكن يجب تنفيذ هذا في Zammad أولاً. 🤖

-مارتن

martini إنه دائمًا ما يلتزم واحد فقط 😜

كنت أحاول تشغيل الدخول الموحّد (SSO) باستخدام إرشاداتك. ومع ذلك ، فإن تصفح http: //myserver.mydom.local/auth/sso يعيدني إلى صفحة تسجيل الدخول. . . هل فاتني شيء ؟

محاولة استخدام (ستانفورد) Webauth (ومستخدم ldap) ينتج عنه نفس الخطأ ، بعد تسجيل الدخول بنجاح في SSO أحصل على مطالبة zammad لتسجيل الدخول.
باستخدام: Ubuntu 16.04 ؛ زمماد 2.2.0 ؛ اباتشي ، MariaDB ؛ (تم تعيين REMOTE_USER بواسطة webauth)

rkaldung هل تعرف شيء. الجديد؟

تم العثور على حل بديل:

المشكلة: يتم استدعاء الوحدة المطلوبة في lib / sso / env.rb بدون request.env المطلوب من PUMA ، لذلك فإن "REMOTE_USER" غير متوفر.

الحل:
أضف "REMOTE_USER" من request.env إلى ENV في "zammad / app / Controllers / Session_controller.rb" داخل الوظيفة "create_sso"

   # export required environment variables for sso
   ENV['REMOTE_USER'] = request.env['REMOTE_USER']
   ENV['HTTP_REMOTE_USER'] = request.env['HTTP_REMOTE_USER']

martini هل يمكن أن تكون هذه مشكلة مع إصدار أحدث من PUMA؟

تحرير: يجب عليك إضافة قاعدة مقابلة لتعيين حقل الرأس في httpd.conf لتشغيله:

RequestHeader merge REMOTE_USER %{REMOTE_USER}s

تحرير 2018-01-08:
كل شيء يعمل الآن مع الحل البديل من بيكاتشوبروف. لقد كان خطأ مطبعي في /etc/krb5.conf Config.

معلومات:
نسخة زمماد المستعملة: الأحدث
مصدر التثبيت المستخدم لـ Zammad: rpm
نظام التشغيل: CentOS 7
إصدار المتصفح +: Firefox الأحدث

Apache Server Config:
<VirtualHost *:443>
    ServerName ***
    ServerAdmin ***

    DocumentRoot "/opt/zammad/public"

    <IfModule !mod_auth_kerb.c>
        LoadModule auth_kerb_module /usr/lib64/httpd/modules/mod_auth_kerb.so
    </IfModule>

    ProxyRequests Off
    ProxyPreserveHost On

    <Proxy localhost:3000>
        Require local
    </Proxy>

    ProxyPass /assets !
    ProxyPass /favicon.ico !
    ProxyPass /robots.txt !
    ProxyPass /ws ws://localhost:6042/
    ProxyPass / http://localhost:3000/

    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    <Directory "/opt/zammad/public">
        Options FollowSymLinks
        Require all granted
    </Directory>

    <Location "/auth/sso">
        Order allow,deny
        Allow from all

        AuthType Kerberos
        AuthName "Ticketsystem Kerberos Login"
        KrbServiceName HTTP
        KrbMethodNegotiate on
        KrbMethodK5Passwd on
        KrbLocalUserMapping off
        KrbSaveCredentials on

        Require valid-user

        # Environment specific: Path to the keytab and the realm
        Krb5Keytab /etc/kerberos.keytab
        KrbAuthRealm ***
    </Location>

    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/***
    SSLCertificateKeyFile /etc/pki/tls/private/***

    ErrorLog "logs/***-error_log"
    CustomLog "logs/***-access_log" common
</VirtualHost>

عندما أقوم بفتح https: // / auth / sso و "KrbLocalUserMapping على" يُظهر المتصفح الخطأ التالي:خطأ في الخادم الداخليواجه الخادم خطأً داخليًا أو تكوينًا خاطئًا ولم يتمكن من إكمال طلبك.يرجى الاتصال بمسؤول الخادم في admin @ لإبلاغه بوقت حدوث هذا الخطأ ، والإجراءات التي قمت بها قبل حدوث هذا الخطأ.
قد تتوفر المزيد من المعلومات حول هذا الخطأ في سجل أخطاء الخادم.

إذا قمت بإيقاف تشغيل "KrbLocalUserMapping" ، فسيتم إعادة توجيه المتصفح الخاص بي إلى https: // * / # تسجيل الدخول

أحاول تعيين "RequestHeader دمج REMOTE_USER٪ {REMOTE_USER} s" ولكن لم يتغير شيء.

آمل أن بعض واحدة يمكن أن تساعد!

لقد أضفنا حلًا بسيطًا آخر:

RewriteEngine   On
RewriteCond     %{HTTP_COOKIE} !^.*zammad_session.*$
RewriteRule     ^/$ https://%{SERVER_NAME}/auth/sso [R,L]

هذه الأسطر في Apache-config تعيد توجيه '/' إلى '/ auth / sso' فقط طالما لم يتم تعيين ملف تعريف ارتباط zammad. يسمح هذا بإعادة التوجيه إلى صفحة تسجيل الدخول إلى خدمة الدخول الموحد دون إنشاء حلقة لا نهاية لها تؤدي إلى "خطأ داخلي في الخادم".

لا أستطيع أن أجعلها تعمل. . . تظهر سجلات أباتشي اسم المستخدم الخاص بي لـ / auth / sso ، ثم تتم إعادة توجيه طلبي إلى / ويختفي اسم المستخدم الخاص بي. . . ربما أخطأت في تحرير وظيفة create_sso!؟ يمكن للشخص أن تعطيني تلميحا ؟

pikachuprof لقد عملت على تطبيق باستخدام omniauth-kerberos .

ومع ذلك ، يتطلب تطبيقي تسجيل الدخول في كل مرة ترغب فيها في الوصول إلى Zammad (باستخدام بيانات اعتماد Kerberos بالطبع) بدلاً من استخدام "بطاقة kerberos" التي تم إنشاؤها بالفعل بواسطة جهاز المستخدم. (على سبيل المثال ، من kinit أو أي "عميل تذاكر kerberos" آخر)

آمل أن يكون هذا جيدًا لتسجيل الدخول الأساسي باستخدام kerberos لتجنب حالات الاختراق. 😊

على الرغم من أنني أشعر أنه من أجل التكوينات المتقدمة مع "تسجيل الدخول / المصادقة لمرة واحدة" (على سبيل المثال ، استخدام kinit مرة واحدة والمصادقة) وبعد ذلك يمكنك ssh / تسجيل الدخول إلى zammad / مواقع الويب الداخلية / ftp جميع الخوادم دون المصادقة بعد الآن ( لا يمكن إجراء SPNEGO / GSSAPI) إلا من خلال التهيئة الكاملة لخادم الويب للواجهة الأمامية (مثل Apache) وهو ما تفعله الآن.

screen shot 2018-02-27 at 8 37 57 pm
screen shot 2018-02-27 at 8 48 00 pm

muhammadn نستخدم خدمة تسجيل دخول أحادي قائمة على Kerberos تسمى Stanford Webauth (mod_auth_webauth). يسمح بتسجيل الدخول عبر كلمة المرور (في المتصفح) (ويقوم بتعيين ملف تعريف ارتباط يحتوي على Kerberos-Token لـ SSO) ولكنه لا ينقل كلمات مرور المستخدم إلى الخدمة - فقط إلى "WebKDC" الخاص بنا.

يجب إجراء المصادقة بواسطة Apache في هذا الإعداد بالطبع - ولكن يجب على Zammad استخدام متغير REMOTE_USER للسماح لأي من آليات "مصادقة خادم الويب" بالعمل (أو ما شابه ذلك؟) ، بالإضافة إلى توفير طريقة للكسر خارج "حلقة تسجيل الدخول" دون الاعتماد على التحقق من وجود ملف تعريف ارتباط ، والذي يبدو غير موثوق به إلى حد ما.

pikachuprof لقد دفعت التنفيذ الخاص بي على https://github.com/muhammadn/zammad/commit/7e8e01bff8226f2d74e80cbc307416db9bf2ac1d

هذا التنفيذ ليس ميزة zammad رسميًا ولكن فقط لتجربة استخدام مكتبة omniauth-kerberos. لن تحتاج إلى تكوين apache مع دعم kerberos لأن كل شيء سيتعامل معه Zammad (إنه تنفيذ على مستوى القضبان) ولن تحتاج إلى REMOTE_USER في الرأس أو حتى mod_auth_webauth.

كل ما تحتاجه هو إعداد ملف krb5.conf بشكل صحيح.

مثال:

[logging]
    default = FILE:/var/log/krb5.log

[libdefaults]
    default_realm = ZAMMAD.COM
    kdc_timesync = 1
    ccache_type = 4
    forwardable = true
    proxiable = true

[realms]
    ZAMMAD.COM = {
        kdc = kdc.zammad.com
        admin_server = kdc.zammad.com
        default_domain = zammad.com
    }

[domain_realm]
    .zammad.com = ZAMMAD.COM
    zammad.com = ZAMMAD.COM

يمكنك نشر أي مشاكل حول ذلك على https://github.com/muhammadn/zammad/issues بدلاً من ذلك لأنه ليس تطبيقًا رسميًا.

ومع ذلك ، لاحظ أنه لتسجيل الدخول باستخدام zammad ، يجب أن يكون لديك المجال بأحرف كبيرة: على سبيل المثال: [email protected]

هل هناك احتمال أن نتمكن من استخدام تذاكر kerberos الحالية للمصادقة؟ مستخدمونا معتادون على مثل هذا الحل المريح وليس لدي فرصة للتبديل إلى zammad حتى أحصل على SSO حقيقي.

نفس المشكلة بالنسبة لي. تمكنت من إجراء اتصال SSO من جانب Apache (الذي يملأ REMOTE_USER ) بطريقتين (Kerberos & X509 SSL Client). وحسابات المستخدمين الخاصة بي مكتظة بشكل جيد ، مع المكون الإضافي Zammad LDAP.

  • بصفتي EDVLeer عندما /auth/sso أرى تسجيل دخول المستخدم في سجل Apache (لذا فهو يعمل) ، لكنني أعود إلى شاشة تسجيل الدخول مرة أخرى.
  • لقد جربت اختراق الكتابة في zammad/app/controllers/sessions_controller.rb ( pikachuprof hack) ، لكن ك EDVLeer ، إما أن
  • لقد جربت اختراق pikachuprof المتمثل في عدم إعادة التوجيه إلى / إذا كان هناك ملف تعريف ارتباط ، ولم يحالفني الحظ
  • نفدت الأفكار الآن: د

لذا...

  • هل يجب أن أقوم بتفعيل مكون إضافي أو شيء ما في زمماد حتى يعمل؟
  • هل هو خطأ في الكود؟ (ربما نعم ، إذا كان علينا تغيير شفرة المصدر)
  • هل لا يزال عنوان url /auth/sso صالحًا في الإصدارات الأخيرة؟
  • أم أن هناك وثيقة رسمية حول كيفية تطبيق SSO مع زمماد؟

ملحوظات:

تكوين Kerberos

<Location "/auth/sso">
    Options FollowSymLinks
    AuthType        Kerberos
    AuthName        "My Name"
    KrbMethodNegotiate  On
    # 'Off' to force users having a valid kerberos ticket, and not prompting for a login/pass
    KrbMethodK5Passwd   Off
    KrbAuthRealms       MY-DOMAIN.FR
    Krb5KeyTab      /etc/krb5.keytab
    KrbLocalUserMapping On
    KrbServiceName      HTTP
    Require valid-user
</Location>

التكوين لشهادة X509 SSL

ملاحظة: يجب عليك إلحاق شهادة CA العامة (.crt) في ملف Apache 'CA Bundle' ( SSLCACertificateFile ) حتى يتمكن Apache من التحقق مما إذا كانت شهادات العملاء على ما يرام

# Let this before <Location> to get the certificate at the first connect, and avoid SSL renegotiation
# when we now the real url
SSLVerifyClient     require
<Location "/auth/sso">
    Options FollowSymLinks
    SSLRequireSSL
    SSLVerifyDepth      1    # Depend of your config. Can be higher
    Require expr %{SSL_CLIENT_I_DN_CN} in {'MY CA NAME'}
    SSLOptions      +StdEnvVars
    # Get the 'firstname.lastname' part of the corporate email, and populate REMOTE_USER
    RewriteEngine       On
    RewriteCond     %{SSL:SSL_CLIENT_S_DN_Email} ^(.+)@.+$
    RewriteRule     .* - [E=REMOTE_USER:%1]
    RequestHeader set REMOTE_USER %{REMOTE_USER}e
</Location>

يمكنني "حل" مشكلة الدخول الموحّد (SSO) ، أعتقد أنها بالتأكيد ليست الطريقة المثلى ولكنها تعمل.

بيئتي هي أحدث إصدار من zammad (2.5) مع Apache2 2.4 مع Postgres. بعد تكوين SSO باستخدام mod_auth_kerb ، يجب أن أفعل الأشياء التالية.

لقد هيأت LDAP لمزامنة موظفينا. لقد قمت بتعيين SAMACOUNTNAME إلى اسم تسجيل الدخول. على سبيل المثال ، اسم مستخدم Windows الخاص بي هو ist schman. لذلك يمكنني تسجيل الدخول باستخدام اسم المستخدم هذا (وليس بالبريد الإلكتروني).

بعد ذلك قمت بتحرير Session_controller.rb وأضف السطر التالي (في السطر 173)

ENV['HTTP_REMOTE_USER']=request.env['HTTP_REMOTE_USER']

لذلك يعرف زمماد HTTP_REMOTE_USER. بعد ذلك لا يعمل تسجيل الدخول. لأن قيمة HTTP_REMOTE_USER هي الآن [email protected]. لإصلاح ذلك أضف السطر التالي إلى تكوين vHost الخاص بي.

RequestHeader edit REMOTE_USER "@DOMAIN.AT" ""

بعد إعادة تشغيل (Apache2 و Zammad) ، يمكنني تسجيل الدخول إلى SSO باستخدام http://zammad.domain.at/auth/sso

إذا كان شخص ما يتحدث الألمانية ، فقد كتبت منشورًا صغيرًا على مدونتي .

schmanat كيف حللت "حلقة تسجيل الدخول" أم تسمح للمستخدم باستخدام عنوان URL "/ auth / sso"؟

في الوقت الحالي ، يحصل المستخدمون على عنوان url / auth / sso.

ولكن هذا هو الشيء التالي الذي أرغب في البحث فيه. ألم تنجح في حل إجابتك ببضع تعليقات أعلاه (قاعدة إعادة الكتابة)؟

نعم فعلت ، لكنها غير موثوقة إلى حد كبير.

شكرًا لكم جميعًا على عملكم في هذا الأمر وعلى توثيق ما أنجزتموه. لسوء الحظ أنا في حيرة. كما جرب الآخرون ، تتم إعادة توجيهي أيضًا إلى صفحة تسجيل الدخول بعد الوصول إلى نقطة نهاية "auth / sso". هذا هو كل ما فعلته:

  • تثبيت Zammad على دبيان 9 (امتداد)
  • تكامل ldap مهيأ (تعيين samaccountname -> login )
  • أكد قادر على تسجيل الدخول باستخدام اسم مستخدم AD / كلمة المرور
  • إنشاء حساب خدمة في AD (يسمى ببساطة zammad )
  • تم إنشاء keytab معيّنًا لحساب خدمة zammad
  • عميل / عالم kerberos مهيأ (في /etc/krb5.conf )
  • تم التحقق من بيئة kerberos kinit
  • التحقق من أن keytab يعمل (قادر على الحصول على TGT من KDC)
  • تم تكوين Apache2 vhost (كما أوضحه cohausz)
  • تم تعديله sessions_controller.rb (كما أوضح من قبل pikachuprof)
  • تمت إضافة قاعدة رأس إلى تهيئة vhost (كما أوضح بيكاتشوبروف)

لقد جربت أيضًا الحلول التي قدمها schmant ولكن لا شيء يبدو أنه يساعد.

فيما يلي سجلات Apache2 الخاصة بي. كما ترى يتم تمرير المستخدم من خلال ... كيف يمكنني التحقق من أن متغيرات البيئة REMOTE_USER / HTTP_REMOTE_USER يتم ضبطها بشكل صحيح؟ هل هناك أي خطوات أخرى لاستكشاف الأخطاء وإصلاحها يمكنني تجربتها؟

zammad.example.com:443 10.1.4.197 - - [09/Aug/2018:09:39:23 -0500] "GET /auth/sso HTTP/1.1" 401 855 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
zammad.example.com:443 10.1.4.197 - [email protected] [09/Aug/2018:09:39:23 -0500] "GET /auth/sso HTTP/1.1" 302 969 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
zammad.example.com:443 10.1.4.197 - - [09/Aug/2018:09:39:23 -0500] "GET / HTTP/1.1" 200 1757 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
zammad.example.com:443 10.1.4.197 - - [09/Aug/2018:09:39:23 -0500] "POST /api/v1/signshow HTTP/1.1" 200 15874 "https://zammad.example.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
zammad.example.com:443 10.1.4.197 - - [09/Aug/2018:09:39:24 -0500] "GET /api/v1/translations/lang/en-us?_=1533825563736 HTTP/1.1" 200 720 "https://zammad.example.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
zammad.example.com:443 10.1.4.197 - - [09/Aug/2018:09:39:24 -0500] "GET /assets/images/fed16b83d2e87ea36cea961d6d8a2101.png HTTP/1.1" 304 210 "https://zammad.example.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36" 

أهلا بك،

لدي نفس الخطأ مثل @ jeremyj563.

هل هناك أي حل لتسجيل الدخول باستخدام SSO؟

شكرا على الرد

أنا مهتم أيضًا بخدمة الدخول الموحّد (SSO).

سيكون خيارًا لتطبيق Azure AD لـ SSO.

نحن أيضًا مهتمون جدًا. أنا حاليًا أقوم باختبار التطبيق في Univention Test App Center وأنا متحمس جدًا.

آسف لإزعاجك: لن تعمل على univention ، حيث أن عامل التركيب يستخدم nginx.

تنبيه : يتعين علينا تحذيرك لاستخدام تطبيق SSO بأي طريقة موصوفة في هذه المشكلة أو غيرها. التغييرات المقدمة هنا تحتوي على ثغرة أمنية خطيرة. ستستمر هذه الثغرة الأمنية في الجلسات التي تم إنشاؤها عبر SSO للمستخدمين غير المصادق عليهم. هذا يعني أنه من الممكن للمستخدمين غير المصادق عليهم تولي جلسة SSO التي تم إنشاؤها مسبقًا للمستخدم (في سياق Zammad).

نوصي بشدة بتعطيل الدخول الموحّد (SSO) حتى يتم حل هذه المشكلة.

ومع ذلك ، فإن الخبر السار هو أننا بدأنا العمل على تطبيق SSO الرسمي.

وصل تسجيل الدخول الفردي أخيرًا إلى develop بفضل rlue ! سيكون جزءًا من الإصدار 3.2 القادم في غضون أسابيع قليلة. يرجى ملاحظة أن تحديث مثيلات Zammad باستخدام فرع develop معطل حاليًا. نحن نعمل على ذلك. ومع ذلك ، يمكنك اختبار SSO في نظام (اختبار) جديد زمماد.

MrGeneration ، هل يمكنك من فضلك تمديد الوثائق لتشمل تكوين SSO في خانة وقت الفراغ التالية؟

كان هناك متابعة. يرجى ملاحظة الالتزام أعلاه.

لسوء الحظ ، نواجه بعض العقبات في إنشاء الوثائق 😞 ستكون المساهمة في شكل طلب سحب إلى https://github.com/zammad/zammad-admin-documentation محل تقدير كبير.
نقطة نهاية API هي /auth/sso . نتوقع وجود واحد مما يلي ويحتوي على السمة login للمستخدم:

  • ENV REMOTE_USER
  • ENV HTTP_REMOTE_USER
  • رأس X-Forwarded-User

دعني اعرف إذا كان لديك أي تساؤل. يسعدني الرد عليهم.

يغلق الآن.

للتأكد من اكتمالها: تخضع وثائق SSO حاليًا لضمان الجودة.
https://github.com/zammad/zammad-documentation/pull/147

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات