موفرو المصادقة الخارجيون

يمكن تعريف العديد من موفري المصادقة الخارجية باستخدام أقسام [provider.x]:

[provider.1]
type = oidc
                            # Provider type, currently only oidc is available
name = OIDC Example
                            # Display name
issuer = example
                            # issuer of the tokens. Can be "google", "microsoft"
                            # or an arbitrary string for custom identity
                            # providers
icon = url('data:image/svg+xml;base64,...')
                            # Optional display icon. Can be either a remote or
                            # a data URL. If omitted, a default icon is used
                            # based on type and provider.
metadata_url = https://example.com/auth/realms/<realm>
                            # URL to get OIDC metadata from. Can be obtained
                            # from the provider.
                            # It usually contains a realm or tenant id.
client_id = <client-id>
                            # OIDC client secret. Can be obtained from the
                            # provider. Some providers call this "app id".
client_secret = <client-secret->
                            # OIDC client secret. Can be obtained from the
                            # provider. Some providers call this "secret value".
hidden = false
                            # it is possible to hide an authentication provider
                            # on the SKOOR Auth start page. This can be useful
                            # if e.g. normal users authenticate against a public
                            # provider and support employees against an internal
                            # one.

Microsoft Azure AD OpenID Connect

إدخال مزود المصادقة SKOOR

[provider.1]
type = oidc
name = Azure AD Example
issuer = microsoft
metadata_url = https://login.microsoftonline.com/<tenant-id>/v2.0
client_id = <app-id>
client_secret = <secret-value>

يتم تعيين الرمز تلقائيًا بناءً على اسم المُصدر.

الإعدادات المطلوبة في Azure AD

معرف مجموعة Azure لمطابقة مجموعة SKOOR البعيدة:

للسماح للمستخدمين بتسجيل الدخول والحصول على الدور الصحيح المخصص، يجب تكوين هذه المعرفات.
في المثال أدناه، سيحصل جميع المستخدمين في مجموعة Azure AD التي تحمل المعرف c2b2***** على دور المسؤول بعد تسجيل الدخول:

تسجيل التطبيق

في Azure Active Directory، قم بتسجيل تطبيق جديد، واختر أنواع الحسابات المدعومة بناءً على إعداد AD (مستأجر واحد أو متعدد).
كعنوان URI لإعادة التوجيه، قم بتكوين ما يلي، اعتمادًا على الخدمات التي قام خادمك بتنشيطها. يمكن أيضًا تعديل هذا لاحقًا.

محرك Skoor / لوحة معلومات Skoor

https://<FQDN>/skoor-auth/oidc/code

Skoor Dashboard Viewer

https://FQDN/skoor-dashboard-viewer-auth/oidc/code

معرف المستأجر ومعرف العميل

بمجرد حفظ تسجيل التطبيق، افتح علامة التبويب "نظرة عامة" للتطبيق الذي تم إنشاؤه وقم بتدوين المعرفين اللذين ستحتاج إليهما لاحقًا للتكوين. وهما:

  • معرف التطبيق (العميل)

  • معرف الدليل (المستأجر)

الشهادات والأسرار

بعد ذلك، انتقل إلى الشهادات والأسرار وأضف سر العميل. حدد اسمًا لهذا السر واختر تاريخ انتهاء الصلاحية. بمجرد الحفظ، يمكنك رؤية معرف السر وقيمة السر. ستكون قيمة السر مطلوبة لاحقًا لتكوين خدمة Skoor Auth.

الرمز

انتقل إلى تكوين الرمز المميز وحدد "إضافة مطالبة المجموعات". في تكوين المطالبة، حدد "مجموعات الأمان" وحدد خاصية الرمز المميز اكتب "ID" إلى "sAMAccountName".

إذن API

هذه الخطوة اختيارية. لتمكين المزيد من التفاصيل حول تكوين المستخدم في Skoor، على سبيل المثال صورة الملف الشخصي، يحتاج التطبيق إلى إذن لقراءة الملف الشخصي الكامل للمستخدم.
لذلك، يمكنك تنفيذ الخطوات التالية في علامة التبويب "أذونات API":

  • إضافة إذن

  • حدد Microsoft Graph

  • أذونات مفوضة

  • ابحث عن User.Read أو قم بالتمرير إلى قسم "user" وحدد "User.Read" ثم انقر فوق "add permission"

  • عد إلى النظرة العامة وقم بتأكيد الإذن عن طريق تحديد "منح موافقة المسؤول"

Keycloak

إدخال موفر المصادقة SKOOR

[provider.2]
type = oidc
name = SKOOR Keycloak
issuer = skoor
icon = url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAwIDI1LjAwMDAwMSAyNSIKICAgaGVpZ2h0PSIyNSIKICAgd2lkdGg9IjI1IgogICB4bWw6c3BhY2U9InByZXNlcnZlIgogICBpZD0ic3ZnMiIKICAgdmVyc2lvbj0iMS4xIgogICBzb2RpcG9kaTpkb2NuYW1lPSJza29vci1jaXJjbGUuc3ZnIgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjkyLjUgKDIwNjBlYzFmOWYsIDIwMjAtMDQtMDgpIj48c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE5MjAiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTAxNiIKICAgICBpZD0ibmFtZWR2aWV3MTMiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjIyLjIyNjk2NyIKICAgICBpbmtzY2FwZTpjeD0iOC4yODU2MDM4IgogICAgIGlua3NjYXBlOmN5PSIxMy42MjkyMjYiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjI3IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnMiIKICAgICBmaXQtbWFyZ2luLXRvcD0iMCIKICAgICBmaXQtbWFyZ2luLWxlZnQ9IjAiCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMCIKICAgICBmaXQtbWFyZ2luLWJvdHRvbT0iMCIgLz48bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE4Ij48cmRmOlJERj48Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+PGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+PGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPjxkYzp0aXRsZT48L2RjOnRpdGxlPjwvY2M6V29yaz48L3JkZjpSREY+PC9tZXRhZGF0YT48ZGVmcwogICAgIGlkPSJkZWZzNiIgLz48cGF0aAogICAgIGlkPSJwYXRoMjQiCiAgICAgc3R5bGU9ImZpbGw6I2UyMDA3YTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4wMjg2ODc3NSIKICAgICBkPSJtIDYuMDkzODUyMiwxMi4xNzc1MjUgYyAwLDMuODgzNDYgMi44Njc5MTM1LDYuNzIwOTY2IDYuMzYyMzY2OCw2LjcyMDk2NiAzLjQ5NTAyOSwwIDYuMzYyOTQ1LC0yLjgzNzUwNiA2LjM2Mjk0NSwtNi43MjA5NjYgMCwtMy4xMDYyOTU2IC0yLjg2NzkxNiwtNS45NDM4MDA1IC02LjM2Mjk0NSwtNS45NDM4MDA1IC0zLjQ5NDQ1MzMsMCAtNi4zNjIzNjY4LDIuODM3NTA0OSAtNi4zNjIzNjY4LDUuOTQzODAwNSB6IE0gMjQuOTEyNDQxLDEyLjE0Nzk4IGMgMCw3LjI4ODY5NiAtNS4yMjcxOTUsMTIuNDI2NjcyIC0xMi40NTYyMjIsMTIuNDI2NjcyIEMgNS4yMjc0ODE1LDI0LjU3NDY0OSAwLDE5LjQzNjY3MiAwLDEyLjE0Nzk3NyAwLDUuMzM3NTE5MyA1Ljk3NDIyNDMsMC41NTc4NTM0NSAxMi40NTYyMTksMC41NTc4NTM0NSBjIDYuNDgyMjg0LDAgMTIuNDU2MjIyLDQuNzc5NjY1ODUgMTIuNDU2MjIyLDExLjU5MDEyMzU1IgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+PC9zdmc+')
metadata_url = https://<keycloak-server-address>/auth/realms/<realm>
client_id = <client-id>
client_secret = <client-secret>

نظرًا لأن لدينا مُصدر مخصص، يجب أن نوفر رمزًا لعرضه بجوار الاسم. يمكننا توفير الرمز باستخدام عنوان URL للبيانات.

الإعدادات المطلوبة في Keycloak

فيما يلي الحد الأدنى من التكوينات اللازمة لتشغيل OIDC مع Keycloak. يمكن استخدام هذا إذا لم يكن لديك بالفعل مزود مصادقة متوافق مع OIDC وتريد مصادقة المستخدمين مقابل دليل نشط داخلي.

إعدادات Realm

إذا لم يكن لديك مجال مكون بالفعل، فيجب عليك إضافة واحد. قد يكون اسم شركتك اسمًا جيدًا للمجال. هذا الاسم هو القيمة التي تحتاج إلى إدخالها كـ <realm> في إدخال مزودك.

قد يكون من الجيد تمكين خيار تذكرني في علامة التبويب تسجيل الدخول.


العملاء

يجب عليك إضافة تكوين عميل لـ SKOOR.

يجب إدخال معرف العميل كـ <client_id> في تكوين مزود الخدمة.

يجب أن يكون بروتوكول العميل openid-connect.

يجب أن يكون نوع الوصول سريًا

يجب تمكين التدفق القياسي.

يجب تعيين عناوين URL لإعادة التوجيه على القيم التالية:

محرك Skoor / لوحات معلومات Skoor

https://<FQDN>/skoor-auth/oidc/code

Skoor Dashboard Viewer

https://FQDN/skoor-dashboard-viewer-auth/oidc/code

يمكنك الحصول على سر العميل المطلوب لتكوين موفر <client_secret> من علامة التبويب "بيانات الاعتماد".

نطاقات العميل

للحصول على معلومات المجموعة الخاصة بمستخدم ما، يجب إضافة مخطط إضافي يسمى groups إلى نطاق الملف الشخصي.

اتحاد المستخدمين

للتحقق من صحة الهوية مقابل دليل نشط، يجب إضافة مزود LDAP.

تعتمد هذه الإعدادات بشكل كبير على تكوين AD الخاص بك

إحدى الخطوات المهمة للغاية هي إضافة مخطط من النوع group-ldap-mapper.

Kerberos

إذا كانت هناك حاجة إلى Kerberos SSO، فيمكن تنشيطه في قائمة المصادقة