# Konfiguracja SAML

#### SAML zapewnia bezpieczne logowanie jednokrotne (SSO) poprzez integrację dostawcy tożsamości (IdP) z rozwiązaniem Xopero ONE. Dzięki temu użytkownicy mogą uwierzytelniać się przy użyciu scentralizowanych danych logowania, co jednocześnie gwarantuje kontrolowany dostęp oraz zgodność z przepisami i standardami (compliance).

***

## Przegląd

Integracja IdP z **Xopero ONE** odbywa się za pośrednictwem protokołu SAML 2.0, co oznacza, że z rozwiązaniem **Xopero ONE** można zintegrować każdą platformę obsługującą ten standard.

Proces konfiguracji jest prosty i wymaga jedynie podania identyfikatora jednostki (entity ID), adresu URL metadanych (metadata URL), adresu URL odpowiedzi (reply URL) oraz adresu URL wylogowania (logout URL) — przy czym nazwy te mogą się różnić w zależności od konwencji nazewnictwa stosowanej przez konkretną platformę. W niektórych przypadkach wymagane jest również dostarczenie certyfikatu oraz klucza prywatnego.

***

## Konfiguracja

{% hint style="danger" %}
Nie należy testować integracji bezpośrednio w panelu dostawcy tożsamości (np. w portalu **Azure**), ponieważ spowoduje to zainicjowanie procesu logowania z poziomu panelu IdP.
{% endhint %}

Poniższa tabela ilustruje konfigurację integracji SAML dla wybranych platform, w tym [Auth0](#auth0), [Azure AD](#azure-a-d), [CyberArk](#cyberark), [Google](#google), [JumpCloud](#jumpcloud), [Okta](#okta), oraz [OneLogin](#onelogin).

{% tabs %}
{% tab title="Auth0" %}

<p align="center"><a href="#konfiguracja-w-auth0" class="button primary" data-icon="circle-1">Konfiguracja w Auth0</a>    <a href="#xop-auth" class="button primary" data-icon="circle-2">Konfiguracja w Xopero ONE</a></p>

## Konfiguracja w Auth0

1. Otwórz swój dashboard w **Auth0**, przejdź do **Dashboard** > **Applications** > **Applications**, następnie kliknij przycisk **Create Application** w prawym górnym rogu ekranu.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/41K6rPlbo1co1fN3SBgx/image.png" alt=""><figcaption></figcaption></figure>

2. W oknie **Create application** wprowadź unikalną, własną nazwę aplikacji (w tym przykładzie użyjemy **XoperoAuth0**), wybierz opcję **Regular Web Applications** i kliknij **Create**:

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/S4med6PtHNAWzYQ7EH2g/image.png" alt="" width="563"><figcaption></figcaption></figure>

3. W oknie nowo utworzonej aplikacji przejdź do zakładki **Settings** , przewiń na sam dół i kliknij **Advanced Settings** aby rozwinąć.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/jFrUBJpxbXuWfvRWf8GX/image.png" alt="" width="563"><figcaption></figcaption></figure>

4. Przejdź do zakładki **Endpoints** i znajdź sekcję **SAML** . Skopiuj **SAML Metadata URL** i zapisz na później — będzie potrzebny do konfiguracji **Xopero ONE**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/Y8DvPVs8mb17mLZAEG0U/image.png" alt="" width="563"><figcaption></figcaption></figure>

5. Przewiń z powrotem na górę i otwórz zakładkę **Addons** następnie przełącz przycisk **SAML2 WEB APP**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/1yrnDbqutFkN6UDRErRa/image.png" alt="" width="522"><figcaption></figcaption></figure>

6. W otwartym oknie przejdź do zakładki **Settings** i wpisz **Application Callback URL** w następujący sposób:

> <mark style="color:red;">**<https://XoperoONEManagementServiceURL>**</mark>/Auth/AssertionConsumerService

{% hint style="warning" %}
W powyższym adresie zmień <mark style="color:red;">**XoperoONEManagementServiceURL**</mark> na swój unikalny adres **XMS URL**. Znajdziesz go w swoim adresie logowania URL **XMS** — jest to pierwsza część adresu.\
**Przykład:**\ <mark style="color:red;">**<https://12a345bc-67de-8901-2345-f6gh78901i2j.ada.xopero.com>**</mark>**/authorization/login**\
część zaznaczona na <mark style="color:red;">**czerwono**</mark> to część adresu URL który musisz skopiować.
{% endhint %}

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/jUFnyHhLjHl33XeEzawf/image.png" alt="" width="445"><figcaption></figcaption></figure>

7. W tej samej zakładce przewiń w dół wewnątrz pola kodu i odkomentuj 31., 32. i 33. linię, a następnie edytuj linię 32 w następujący sposób:

```
“callback”: "https://XoperoONEManagementServiceURL/auth/SAMLLogoutResponse"
```

{% hint style="warning" %}
W powyższym adresie zmień <mark style="color:red;">**XoperoONEManagementServiceURL**</mark> na swój unikalny adres **XMS URL**. Znajdziesz go w swoim adresie logowania URL **XMS** — jest to pierwsza część adresu.\
**Przykład:**\ <mark style="color:red;">**<https://12a345bc-67de-8901-2345-f6gh78901i2j.ada.xopero.com>**</mark>**/authorization/login**\
część zaznaczona na <mark style="color:red;">**czerwono**</mark> to część adresu URL który musisz skopiować.
{% endhint %}

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/ycnha5ErKkQOYhAPggYA/image.png" alt=""><figcaption></figcaption></figure>

8. Po zakończeniu przewiń na dół okna dodatku i kliknij przycisk **Enable** a następnie zamknij okno, aby zakończyć konfigurację aplikacji.

***

## Konfiguracja w Xopero ONE <a href="#xop-auth" id="xop-auth"></a>

1. Zaloguj się do swojego panelu **XMS**, przejdź do **Ustawienia** (lewy dolny róg w lewym menu) i wybierz **Zewnętrzni Dostawcy Tożsamości**.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2F7xR030oAqG9CggaEevmp%2FSaml_konfig-xopero-one1.png?alt=media&#x26;token=4c619be6-0446-49cc-8520-2315370f0905" alt=""><figcaption></figcaption></figure>

2. Kliknij przycisk **Dodaj nowego dostawcę** i uzupełnij szczegóły:

> **Nazwa:** własna nazwa, np. **Auth0.**
>
> **Entity ID:** powinno być takie samo jak nazwa ustawiona jako nazwa aplikacji w **Auth0** (w tym przykładzie to **XoperoAuth0**).

3. Następnie wklej uprzednio skopiowany **SAML Metadata URL** w polu **URL metadanych.**

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FGRkauSefRYvPUYMlFdBc%2FSaml_konfig-xopero-one2.png?alt=media&#x26;token=3e3c1496-2fb5-45d9-b34a-257c8b40f4dd" alt=""><figcaption></figcaption></figure>

4. Dodaj certyfikat i hasło, jeśli jest to wymagane.
5. Skonfiguruj domyślny **Język** oraz **Rolę** dla użytkowników z uprawnieniami do uwierzytelniania **Auth0** **SAML**.
6. Sprawdź ustawienia i kliknij **Zapisz** na dole zakładki **Dodaj dostawcę tożsamości**.
7. Kliknij **Zapisz** aby zakończyć konfigurację. Możesz się teraz wylogować i przetestować skonfigurowaną integrację logowania **SAML**.
   {% endtab %}

{% tab title="Azure AD" %}

<p align="center"><a href="#konfiguracja-w-azure" class="button primary" data-icon="circle-1">Konfiguracja w Azure</a>    <a href="#xop-azure" class="button primary" data-icon="circle-2">Konfiguracja w Xopero ONE</a></p>

## Konfiguracja w Azure

1. Zaloguj się do [portal.azure.com](http://portal.azure.com/), wybierz **Azure Active Directory** i kliknij **Enterprise applications**.
2. Kliknij **New application** button a następnie **Create your own application**.
3. Wprowadź własną nazwę aplikacji i wybierz **Integrate any other application you don’t find in the gallery (Non-gallery)**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/sL6rnZBpY6ap6nCss7qn/image.png" alt="" width="563"><figcaption></figcaption></figure>

4. Potwierdź konfigurację i kliknij przycisk **Create**.
5. Otwórz zakładkę **Single sign-on** i wybierz metodę **SAML**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/7DVg9L7KlwCe5ZDQJRaJ/image.png" alt=""><figcaption></figcaption></figure>

6. Kliknij przycisk **Edit** w sekcji ① **Basic SAML Configuration** aby ją edytować.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/Hzyvr7uH0tbvT5Kf3Bfm/image.png" alt=""><figcaption></figcaption></figure>

7. Skonfiguruj unikalny **Identifier (Entity ID)** np. **SAMLTestAzure**
8. Wprowadź następujący URL w sekcji **Reply URL (Assertion Consumer Service URL)**:

> <mark style="color:red;">**<https://XoperoONEManagementServiceURL>**</mark>/Auth/AssertionConsumerService

9. Zmień **Logout Url (Optional)** na następujący adres:

> <mark style="color:red;">**<https://XoperoONEManagementServiceURL>**</mark>/auth/SAMLLogoutResponse

{% hint style="warning" %}
W powyższych adresach zmień <mark style="color:red;">**XoperoONEManagementServiceURL**</mark> na swój unikalny adres **XMS URL**. Znajdziesz go w swoim adresie logowania URL **XMS** — jest to pierwsza część adresu.\
**Przykład:**\ <mark style="color:red;">**<https://12a345bc-67de-8901-2345-f6gh78901i2j.ada.xopero.com>**</mark>**/authorization/login**\
część zaznaczona na <mark style="color:red;">**czerwono**</mark> to część adresu URL który musisz skopiować.
{% endhint %}

10. Sprawdź, czy wprowadzone informacje są poprawne i kliknij przycisk **Save**.
11. Następnie kliknij przycisk **Edit** w sekcji ② **Attributes & Claims** i naciśnij przycisk ➕**Add a group claim**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/R2yrZcC6kHiL4LtJdxHm/image.png" alt="" width="563"><figcaption></figcaption></figure>

12. Wybierz **All groups** i przejdź do **Advanced options**. Zaznacz pole **Filter group** i uzupełnij pola w następujący sposób:

> **Attribute to match**: Display name\
> **Match with**: Prefix\
> **String**: XONE

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/euKA7MFdrXS5ZlQ5DXli/image.png" alt="" width="563"><figcaption></figcaption></figure>

13. Zaznacz pole **Customize the name of the group claim**. Wpisz **xoperogroup** w polu **Name** i zapisz ustawienia.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/qijuLdUA1yB16QdKQVKk/image.png" alt="" width="563"><figcaption></figcaption></figure>

14. Wróć do strony **SAML-based Sign-on** i skopiuj **App Federation Metadata Url**, będzie potrzebny później.
15. Zapisz ustawienia.&#x20;
16. Otwórz zakładkę **Users and groups** i kliknij przycisk ➕ **Add user/group**. Wybierz użytkowników, którym chcesz umożliwić logowanie do **Xopero ONE** i zapisz ustawienia.

***

## Konfiguracja w Xopero ONE <a href="#xop-azure" id="xop-azure"></a>

1. Zaloguj się do swojego panelu **XMS**, przejdź do **Ustawienia** (lewy dolny róg w lewym menu) i wybierz **Zewnętrzni Dostawcy Tożsamości**.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2F7xR030oAqG9CggaEevmp%2FSaml_konfig-xopero-one1.png?alt=media&#x26;token=4c619be6-0446-49cc-8520-2315370f0905" alt=""><figcaption></figcaption></figure>

2. Kliknij przycisk **Dodaj nowego dostawcę** i uzupełnij szczegóły:

> **Nazwa:** własna nazwa, np. **Azure AD.**
>
> **Entity ID:** powinno być takie samo jak nazwa ustawiona jako **Identifier (Entity ID)** w **Azure** (w tym przykładzie to **SAMLTestAzure**).

3. Następnie wklej uprzednio skopiowany **App Federation Metadata Url** w polu **Metadata URL** .

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FcRQhz73IynjVvm1n05bI%2FSaml_konfig-xopero-one-azure.png?alt=media&#x26;token=156b180e-17ce-43a9-9aa8-898aff3e4447" alt=""><figcaption></figcaption></figure>

4. Dodaj certyfikat i hasło, jeśli jest to wymagane.
5. Skonfiguruj domyślny **Język** oraz **Rolę** dla użytkowników z uprawnieniami do uwierzytelniania **Azure** **SAML**.
6. Sprawdź ustawienia i kliknij **Zapisz** na dole zakładki **Dodaj dostawcę tożsamości**.
7. Kliknij **Zapisz** aby zakończyć konfigurację. Możesz się teraz wylogować i przetestować skonfigurowaną integrację logowania **SAML**.
   {% endtab %}

{% tab title="CyberArk" %}

<p align="center"><a href="#cyberark-side" class="button primary" data-icon="circle-1">Konfiguracja w CyberArk</a>    <a href="#xop-cyber" class="button primary" data-icon="circle-2">Konfiguracja w Xopero ONE</a></p>

## Konfiguracja w CyberArk

1. Zaloguj się do konta **CyberArk**. Rozwiń menu rozwijane **Apps & Widgets** dropdown i wybierz **Web Apps**.
2. Kliknij przycisk **Add Web Apps** w prawym górnym rogu.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/yGikVybBnMSxK6nvK40m/image9.png" alt=""><figcaption></figcaption></figure>

3. Przejdź do zakładki **Custom**, znajdź na liście **SAML**, a następnie kliknij przycisk **Add**, obok SAML.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/DW2IKp7lyiE8Ab4wOdFd/image5.png" alt=""><figcaption></figcaption></figure>

4. Potwierdź dodanie SAML jako aplikacji sieciowej.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/ycUtfXTxwilQRPaI90qT/image3.png" alt=""><figcaption></figcaption></figure>

5. Zostaniesz przekierowany do ustawień aplikacji sieciowej SAML. Zacznij od ustawienia własnej nazwy dla aplikacji (np. **XONESAML**).

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/i0hckkKV5jaDfFqGzDvs/image.png" alt=""><figcaption></figcaption></figure>

6. Następnie ustaw unikalny **Application ID** w sekcji **Advanced** i **Zapisz** swoje ustawienia (w tym przykładzie użyjemy **XONESAMLID**).

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/kC8ELCpbnNUkv8RLttEL/image.png" alt=""><figcaption></figcaption></figure>

7. Otwórz zakładkę **Trust** i skopiuj **Metadata URL** w sekcji **Identity Provider Configuration** (będzie później potrzebny do konfiguracji **Xopero ONE**).

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/bVPTRUKpVeppMlWSYe8j/image.png" alt=""><figcaption></figcaption></figure>

8. Następnie zjedź niżej do sekcji **Service Provider Configuration**, ustaw ją na **Manual Configuration** oraz wprowadź następujące dane:

> W **SP Entity ID / Issuer / Audience** wpisz wcześniej zdefiniowane **Application ID** (w tym przykładzie jest to **XONESAMLID**)
>
> W **Assertion Consumer Service (ACS) URL** wprowadź:
>
> <mark style="color:red;">**<https://XoperoONEManagementServiceURL>**</mark>/Auth/AssertionConsumerService
>
> W **Single Logout URL** wprowadź:
>
> <mark style="color:red;">**<https://XoperoONEManagementServiceURL>**</mark>/auth/SAMLLogoutResponse

{% hint style="warning" %}
W powyższych adresach zmień <mark style="color:red;">**XoperoONEManagementServiceURL**</mark> na swój unikalny adres **XMS URL**. Znajdziesz go w swoim adresie logowania URL **XMS** — jest to pierwsza część adresu.\
**Przykład:**\ <mark style="color:red;">**<https://12a345bc-67de-8901-2345-f6gh78901i2j.ada.xopero.com>**</mark>**/authorization/login**\
część zaznaczona na <mark style="color:red;">**czerwono**</mark> to część adresu URL który musisz skopiować.
{% endhint %}

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/YgiHyL4cdoiVkt3yNZEE/image.png" alt="" width="563"><figcaption><p><em>Przegląd domyślnej konfiguracji.</em></p></figcaption></figure>

9. Przejdź do zakładki **SAML Response** i przewiń do sekcji **Script to set custom claims**. Wprowadź poniższy skrypt i naciśnij przycisk **Save**:

{% code overflow="wrap" lineNumbers="true" %}

```xml
setFilteredAttributeArray("xoperogroup", LoginUser.RoleNames, "XONE.*");
setFilteredAttributeArray("xoperogroup", LoginUser.GroupNames, "XONE.*");
```

{% endcode %}

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/wrvEjO9P5fqPEUdpx3G6/image.png" alt=""><figcaption></figcaption></figure>

10. Udaj się do zakładki **Permissions**, kliknij przycisk **Add**, wybierz wszystkich użytkowników, których chcesz autoryzować do używania integracji SAML, następnie **Zapisz s**woje ustawienia.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/GseirFMmBfGe0wrTllI1/image.png" alt=""><figcaption></figcaption></figure>

***

## Konfiguracja w Xopero ONE <a href="#xop-cyber" id="xop-cyber"></a>

1. Zaloguj się do swojego panelu **XMS**, przejdź do **Ustawienia** (lewy dolny róg w lewym menu) i wybierz **Zewnętrzni Dostawcy Tożsamości**.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2F7xR030oAqG9CggaEevmp%2FSaml_konfig-xopero-one1.png?alt=media&#x26;token=4c619be6-0446-49cc-8520-2315370f0905" alt=""><figcaption></figcaption></figure>

2. Kliknij przycisk **Dodaj nowego dostawcę** i uzupełnij szczegóły:

> **Nazwa:** własna nazwa, np. **CyberArk.**
>
> **Entity ID:** powinno być takie samo jak nazwa ustawiona jako **Application ID** w **CyberArk** (w tym przykładzie to **XONESAMLID**).

3. Następnie wstaw poprzednio skopiowany adres **Metadata URL** w polu **Metadata URL**.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2Fih1iEri4sh7V2W5p5eOc%2FSaml_konfig-xopero-one-cyberark.png?alt=media&#x26;token=2e015548-19e7-435a-a61a-5be9ba157ab6" alt=""><figcaption></figcaption></figure>

4. Dodaj certyfikat i hasło, jeśli jest to wymagane.
5. Skonfiguruj domyślny **Język** oraz **Rolę** dla wszystkich użytkowników, których chcesz autoryzować do korzystania z integracji **CyberArk** SAML.&#x20;
6. Sprawdź ustawienia i kliknij **Zapisz** na dole zakładki **Dodaj dostawcę tożsamości**.
7. Kliknij **Zapisz** aby zakończyć konfigurację. Możesz się teraz wylogować i przetestować skonfigurowaną integrację logowania **SAML**.
   {% endtab %}

{% tab title="Google" %}

<p align="center"><a href="#configuration-in-google" class="button primary" data-icon="circle-1">Konfiguracja w Google</a>    <a href="#xop-google" class="button primary" data-icon="circle-2">Konfiguracja w Xopero ONE</a></p>

## Konfiguracja w Google

1. Zaloguj się do konsoli administratora **Google**. Następnie, kliknij ikonę menu ![](https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/zcDRfONnxXP9qgRwAczR/image.png) w lewym górnym rogu ekranu i przejdź do ![](https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/JufDklar7ayh0MCe8GJo/icon.png)**Apps** > **Web and** **mobile apps**. Kliknij **Add app** i z menu rozwijanego wybierz **Add custom SAML app**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/qg5VsECseOxuxq5pbH7C/image.png" alt="" width="563"><figcaption></figcaption></figure>

2. Na stronie szczegółów aplikacj utwórz własną nawę aplikacji i wpisz ją w polu **App Name**, następnie kliknij **Continue**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/cbNFDIUnTahFysLGllSM/image.png" alt="" width="563"><figcaption></figcaption></figure>

3. Następnie kliknij przycisk **DOWNLOAD METADATA** znajdujący się pod "**Option 1: Download IdP metadata"**. Prześlij pobrany plik na swój serwer i zapisz jego adres URL (będzie potrzebny później do konfiguracji **Xopero ONE**).

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/ol3WxMnf9vRebUYrTEmu/image.png" alt="" width="563"><figcaption></figcaption></figure>

4. Kliknij **Continue** i w następnym oknie na ekranie uzupełnij **Service provider details** w następujący sposób:

> **ACS URL:**&#x20;
>
> <mark style="color:red;">**<https://XoperoONEManagementServiceURL>**</mark>/Auth/AssertionConsumerService
>
> **Entity ID:** własna, globalnie unikalna nazwa (w tym przypadku użyjemy **SAMLGOOGLE**)
>
> **Start URL (optional):** Twój unikalny URL XMS <mark style="color:red;">**XoperoONEManagementServiceURL**</mark>

{% hint style="warning" %}
W powyższych adresach zmień <mark style="color:red;">**XoperoONEManagementServiceURL**</mark> na swój unikalny adres **XMS URL**. Znajdziesz go w swoim adresie logowania URL **XMS** — jest to pierwsza część adresu.\
**Przykład:**\ <mark style="color:red;">**<https://12a345bc-67de-8901-2345-f6gh78901i2j.ada.xopero.com>**</mark>**/authorization/login**\
część zaznaczona na <mark style="color:red;">**czerwono**</mark> to część adresu URL który musisz skopiować.
{% endhint %}

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/577ZnMD6Xlc4E7txAhpl/image.png" alt=""><figcaption></figcaption></figure>

5. Po ukończeniu kliknij przycisk **Continue** a na następnej stronie przycisk **Finish**.
6. Po powrocie na główną stronę konsoli administratora, otwórz menu (burger) w lewym górnym rogu ekranu, przejdź do **Apps** > **Web and mobile apps**, następnie wybierz swoją nowo utworzoną aplikację SAML.
7. Przejdź do **User access** następnie wybierz albo **On for everyone** albo **Off for everyone** w zależności od potrzeb organizacji.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/tcMSHoha5jdZ9l9IZwta/image.png" alt=""><figcaption></figcaption></figure>

8. Następnie kliknij **Save** aby zakończyć proces konfiguracji.

***

## Konfiguracja w Xopero ONE <a href="#xop-google" id="xop-google"></a>

1. Zaloguj się do swojego panelu **XMS**, przejdź do **Ustawienia** (lewy dolny róg w lewym menu) i wybierz **Zewnętrzni Dostawcy Tożsamości**.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2F7xR030oAqG9CggaEevmp%2FSaml_konfig-xopero-one1.png?alt=media&#x26;token=4c619be6-0446-49cc-8520-2315370f0905" alt=""><figcaption></figcaption></figure>

2. Kliknij przycisk **Dodaj nowego dostawcę** i uzupełnij szczegóły:

> **Nazwa:** własna nazwa, np. **Google.**
>
> **Entity ID:** powinna być taka sama jaka została ustawiona w Google (w tym przykładzie jest to **SAMLGOOGLE**).

3. Następnie wklej poprzednio skopiowany adres **metadata URL** w polu **URL metadanych**.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2F1AebiUaTj66W2kCOX1Yi%2FSaml_konfig-xopero-one-google.png?alt=media&#x26;token=8f55a0b5-b3e4-425a-a346-e5a29685166d" alt="" width="292"><figcaption></figcaption></figure>

4. Dodaj certyfikat i hasło, jeśli jest to wymagane.
5. Skonfiguruj domyślny **Język** oraz **Rolę** dla wszystkich użytkowników, których chcesz autoryzować do korzystania z integracji **Google** SAML.&#x20;
6. Sprawdź ustawienia i kliknij **Zapisz** na dole zakładki **Dodaj dostawcę tożsamości**.
7. Kliknij **Zapisz** aby zakończyć konfigurację. Możesz się teraz wylogować i przetestować skonfigurowaną integrację logowania **SAML**.
   {% endtab %}

{% tab title="JumpCloud" %}

<p align="center"><a href="#configuration-in-jumpcloud" class="button primary" data-icon="circle-1">Konfiguracja w JumpCloud</a>    <a href="#xop-jump" class="button primary" data-icon="circle-2">Konfiguracja w Xopero ONE</a></p>

## Konfiguracja w JumpCloud

1. Zaloguj się do **JumpCloud Admin Portal**, przejdź do **USER AUTHENTICATION** > **SSO Applications**, a następnie kliknij **+ Add New Application**.
2. W oknie **Create New Application Integration** znajdź **Custom Application**, wybierz ją i kliknij **Next**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/nSFYxK8nZl9PbgS4rdLJ/image.png" alt="" width="563"><figcaption></figcaption></figure>

3. Zazbacz pole **Manage Single Sign-On (SSO)** i wybierz opcję **Configure SSO with SAML**, następnie kliknij **Next**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/oO091inzV4cPXADh2PCu/image.png" alt="" width="563"><figcaption></figcaption></figure>

4. W sekcji **Enter general info** ustaw unikalną nazwę aplikacji (w tym przykładzie użyjemy **XONE**), wpisz ją w polu **Display Label** i kliknij **Save Application**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/ZnoBANvtX8DqTgNxRvyr/image.png" alt="" width="563"><figcaption></figcaption></figure>

5. W ustawieniach nowej aplikacji przejdź do karty **SSO** i wypełnij pola w następujący sposób:

> **IdP Entity ID:** unikalna nazwa aplikacji (w tym przykładzie: XONE)
>
> **SP Entity ID:** unikalna nazwa aplikacji (w tym przykładzie: XONE)

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/RgSEKRcQ02KrNoxQOaNW/image.png" alt="" width="563"><figcaption></figcaption></figure>

6. Kliknij przycisk **Copy Metadata URL** w sekcji **JumpCloud Metadata** u góry i zapisz ten adres na później — będzie on potrzebny do konfiguracji **Xopero ONE** w **XMS**.
7. Przewiń w dół, ustaw **SAMLSubject NameID** na **e-mail**, a dla **SAML Subject NameID Format** wybierz z menu rozwijanego: `urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress`.

{% hint style="warning" %}
Domyślny [**Signature Algorithm** ](#user-content-fn-1)[^1]to `RSA-SHA256` — pozostaw go bez zmian.
{% endhint %}

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/BS6iu3qFB6c7em5vhGZc/image.png" alt=""><figcaption></figcaption></figure>

8. W sekcji **Sign** wybierz **Assertion**. Adres **IDP URL** powinien wyglądać następująco:

> <kbd><https://sso.jumpcloud.com/saml2/xone></kbd>

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/fgQPhJ2HDMKAksIYtR9U/image.png" alt="" width="442"><figcaption></figcaption></figure>

{% hint style="danger" %}
Jeśli chcesz logować się do Xopero ONE bezpośrednio z panelu JumpCloud, dodaj dodatkowo swój adres <mark style="color:$danger;">**XoperoONEManagementServiceURL**</mark> w polu **Login URL**.
{% endhint %}

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/0TfGyqpOTvkppo6rpigE/image.png" alt="" width="495"><figcaption><p><em>Przykład poprawnie wprowadzonego <strong>Login URL</strong>.</em></p></figcaption></figure>

9. W sekcji **Attributes** dodaj nową [**odpowiedź wylogowania**](#user-content-fn-2)[^2], wypełniając pola w następujący sposób:

> **Service Provider Attribute Name:**
>
> <mark style="color:red;">**<https://XoperoONEManagementServiceURL>**</mark>/auth/SAMLLogoutResponse
>
> **JumpCloud Attribute Name:** wybierz **email** z menu rozwijanego

{% hint style="warning" %}
W powyższym adresie zmień <mark style="color:red;">**XoperoONEManagementServiceURL**</mark> na swój unikalny adres URL usługi XMS. Możesz go znaleźć w adresie logowania XMS — jest to pierwsza część adresu (np. w <mark style="color:red;">**<https://12a345bc-67de-8901-2345-f6gh78901i2j.ada.xopero.com>**</mark>**/authorization/login** częścią, którą musisz skopiować, jest ta zaznaczona na <mark style="color:red;">**czerwono**</mark>).
{% endhint %}

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/J5izZ1m0oVYly7ARQsFj/image.png" alt=""><figcaption></figcaption></figure>

10. Kliknij **Save**, aby zaktualizować konektor i przejdź do karty **User Groups**. Wybierz grupy/użytkowników, dla których chcesz włączyć autoryzację **JumpCloud SAML** przy logowaniu do **Xopero ONE**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/LfPuHThVWm8WNyhy0Rg2/image.png" alt="" width="563"><figcaption></figcaption></figure>

11. Sprawdź ponownie, czy wprowadzone dane są poprawne i zapisz konfigurację.

***

## Konfiguracja w Xopero ONE <a href="#xop-jump" id="xop-jump"></a>

1. Zaloguj się do panelu XMS, przejdź do **Ustawień** (lewy dolny róg w menu po lewej stronie) i wybierz **Zewnętrzni dostawcy tożsamości**.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FyLocc8hEhxsfWFakVjD2%2Fimage.png?alt=media&#x26;token=e0f70e3b-8fce-4268-828b-6282e5cdf352" alt=""><figcaption></figcaption></figure>

2. Kliknij przycisk **Dodaj nowego dostawcę** i uzupełnij szczegóły:

> **Name:** własna nazwa, np. **JumpCloud**
>
> **Entity ID:** powinien być taki sam, jak nazwa ustawiona w **SSO IDP Entity ID** w **JumpCloud** (w tym przykładzie: **XONE**).

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FcMmD60rESm1oQaUoJZVK%2Fimage.png?alt=media&#x26;token=ee242590-94df-438d-aa96-0656df3e5eed" alt=""><figcaption></figcaption></figure>

3. Następnie wklej wcześniej skopiowany adres **Metadata URL** w polu o tej samej nazwie.
4. Dodaj certyfikat i hasło, jeśli są wymagane.
5. Ustaw **domyślny język** i **rolę** dla użytkowników z uprawnieniami autoryzacji **JumpCloud SAML**.
6. Kliknij **Zapisz**, aby zakończyć konfigurację. Możesz teraz się wylogować i przetestować skonfigurowaną integrację logowania **SAML**.
   {% endtab %}

{% tab title="Okta" %}

<p align="center"><a href="#general-requirements-and-limitations" class="button primary" data-icon="circle-1">Wymagania i ograniczenia</a>    <a href="#configuration" class="button primary" data-icon="circle-2">Konfiguracja w Okta</a>    <a href="#xop-okta" class="button primary" data-icon="circle-3">Konfiguracja w Xopero ONE</a></p>

## Wymagania i ograniczenia

W konfiguracji **IdP w Xopero ONE** <mark style="color:red;">**musi zostać uwzględniony**</mark> plik **PKCS #12** z certyfikatem **X.509** i **kluczem prywatnym** (zazwyczaj plik **.pfx**; może być chroniony hasłem). Plik certyfikatu **X.509** (zazwyczaj plik **.crt**) służący do weryfikacji podpisu po stronie **IdP&#x20;**<mark style="color:red;">**musi zostać uwzględniony**</mark> w konfiguracji aplikacji zdefiniowanej w panelu **Okta**.

Oba pliki zawierają ten sam certyfikat. Plik **PKCS #12** zawiera dodatkowo klucz prywatny do tego certyfikatu.

{% hint style="warning" %}
Jeśli plik **PKCS #12** jest chroniony hasłem, dodaj to hasło do konfiguracji **IdP** w panelu **Xopero ONE**.
{% endhint %}

***

## Konfiguracja w Okta

1. W **Admin** dashboard (w prawym górnym rogu okna) rozwiń kartę **Applications** i wybierz opcję **Applications**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/qSwHcADxLudL35EGNySf/image.png" alt=""><figcaption></figcaption></figure>

2. Kliknij przycisk **Create App Integration** i wybierz **SAML 2.0**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/0n5EOpQNIABS8CEfBuRc/image.png" alt=""><figcaption></figcaption></figure>

3. W sekcji **General Settings** wprowadź unikalną nazwę aplikacji i przejdź do sekcji **Configure SAML**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/tQ2j0m1UMsB97z3p16zA/image.png" alt=""><figcaption></figcaption></figure>

4. W karcie **Configure SAML** ustaw parametr **Single sign-on URL** w następujący sposób:

> <mark style="color:red;">**<https://XoperoONEManagementServiceURL>**</mark>/Auth/AssertionConsumerService

{% hint style="warning" %}
W powyższym adresie zmień <mark style="color:red;">**XoperoONEManagementServiceURL**</mark> na swój unikalny adres URL usługi XMS. Możesz go znaleźć w adresie logowania XMS — jest to pierwsza część adresu (np. w <mark style="color:red;">**<https://12a345bc-67de-8901-2345-f6gh78901i2j.ada.xopero.com>**</mark>**/authorization/login** częścią, którą musisz skopiować, jest ta zaznaczona na <mark style="color:red;">**czerwono**</mark>).
{% endhint %}

5. W polu **Audience URL** wpisz unikalną nazwę aplikacji, którą wcześniej ustawiłeś w karcie **General Settings**.
6. Kliknij **Show advanced settings** i prześlij plik certyfikatu w polu **Signature Certificate**. W sekcji **Enable Single Logout** <mark style="color:red;">**koniecznie zaznacz pole**</mark> **Allow application to initiate Single Logout**.
7. Zobaczysz teraz dwa dodatkowe pola pod **Enable Single Logout** — wypełnij je następująco:

> **Single Logout URL:**
>
> <mark style="color:red;">**<https://XoperoONEManagementServiceURL>**</mark>/auth/SAMLLogoutResponse
>
> **SP Issuer:** unikalna nazwa aplikacji ustawiona wcześniej w **General Settings** (w tym przykładzie: **MyOktaApp**).

{% hint style="warning" %}
W powyższym adresie zmień <mark style="color:red;">**XoperoONEManagementServiceURL**</mark> na swój unikalny adres URL usługi XMS. Możesz go znaleźć w adresie logowania XMS — jest to pierwsza część adresu (np. w <mark style="color:red;">**<https://12a345bc-67de-8901-2345-f6gh78901i2j.ada.xopero.com>**</mark>**/authorization/login** częścią, którą musisz skopiować, jest ta zaznaczona na <mark style="color:red;">**czerwono**</mark>).
{% endhint %}

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/zpCXTHRbDiQ55yYxT1fc/image.png" alt=""><figcaption></figcaption></figure>

8. Następnie przejdź do sekcji **Group Attribute Statements** i wypełnij ją w następujący sposób:

> **Name:** xoperogroup
>
> **Starts with:** XONE

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/TOpGWa9jSxYQ9bMTIKDS/image.png" alt=""><figcaption></figcaption></figure>

9. Sprawdź ponownie poprawność danych i kliknij **Next**. W kolejnym oknie wybierz opcję **I'm an Okta customer adding an internal app**, a następnie kliknij **Finish**.
10. Otwórz utworzoną aplikację i przejdź do karty **Sign On**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/O3OKPLlkxujVrgKlpVZJ/image.png" alt=""><figcaption></figcaption></figure>

11. W sekcji **SAML Signing Certificates** wybierz przesłany certyfikat i kliknij **Actions > View IdP metadata**. Skopiuj **adres URL** otwartej strony — będzie on wymagany później w konfiguracji **Xopero ONE**.
12. Po zakończeniu przejdź do karty **Assignments**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/isCP2rmJ0AXwZwwtD1AL/image.png" alt=""><figcaption><p><em><strong>Widok karty assignments</strong>.</em></p></figcaption></figure>

13. Przypisz aplikację do wybranego użytkownika lub grupy. Kliknij **Done**, aby zakończyć konfigurację.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/8cbN6UH5IXoXXyKbuRXo/image.png" alt=""><figcaption></figcaption></figure>

***

## Konfiguracja w Xopero ONE <a href="#xop-okta" id="xop-okta"></a>

1. Zaloguj się do panelu XMS, przejdź do **Ustawień** (lewy dolny róg w menu po lewej stronie) i wybierz **Zewnętrzni dostawcy tożsamości**.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FyLocc8hEhxsfWFakVjD2%2Fimage.png?alt=media&#x26;token=e0f70e3b-8fce-4268-828b-6282e5cdf352" alt=""><figcaption></figcaption></figure>

2. Kliknij przycisk **Dodaj nowego dostawcę** i uzupełnij szczegóły:

> **Name:** własna nazwa, np. Okta.
>
> **Entity ID:** powinien być taki sam, jak nazwa ustawiona w **General Settings** w **Okta** (w tym przykładzie: **MyOktaApp**).

3. Wklej wcześniej skopiowany adres **IdP metadata URL** w polu **Metadata URL**.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FN3VlP3SMe9KZ8pWkYyBX%2Fimage.png?alt=media&#x26;token=a41d9407-ce5a-4b4c-b771-2a0456aaeff6" alt=""><figcaption></figcaption></figure>

4. Dodaj wymagany certyfikat i hasło do **Managera haseł**.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FcueAjpBYgciUptRVnHPC%2Fimage.png?alt=media&#x26;token=def0d7dd-cd4e-437c-b73b-2be00746922d" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Więcej o dodawaniu haseł dowiesz się z artykułu bazy wiedzy: [Manager haseł](https://helpcenter.xopero.com/xopero-one-en/pl/zarzadzanie/manager-hasel).
{% endhint %}

5. Ustaw **domyślny język** i **rolę** dla użytkowników z uprawnieniami uwierzytelniania **Okta SAML**.

{% hint style="info" %}
Więcej o rolach dowiesz się z artykułu bazy wiedzy: [Role i uprawnienia](https://helpcenter.xopero.com/xopero-one-en/pl/zarzadzanie/konta-uzytkownikow/role-i-uprawnienia).
{% endhint %}

6. Kliknij **Zapisz**, aby zakończyć konfigurację. Możesz teraz się wylogować i przetestować integrację logowania **SAML**.
   {% endtab %}

{% tab title="OneLogin" %}

<p align="center"><a href="#configuration-in-onelogin" class="button primary" data-icon="circle-1">Konfiguracja w OneLogin</a>    <a href="#xop-onelog" class="button primary" data-icon="circle-2">Konfiguracja w Xopero ONE</a>    <a href="#group-mapping" class="button primary" data-icon="circle-3">Mapowanie grup</a></p>

## Konfiguracja w OneLogin

1. Zaloguj się do **OneLogin** admin console i przejdź do **Applications** > **Applications** > **Add App**.
2. Wyszukaj SAML Custom Connector (Advanced) i wybierz pierwszy wynik wyszukiwania.
3. Wprowadź unikalną nazwę aplikacji w polu **Display Name** i kliknij **Save**.
4. Otwórz **Configuration settings** swojej aplikacji, wypełnij pola w następujący sposób i kliknij **Save**:

> **Audience (EntityID):** unikalna nazwa identyfikująca aplikację po stronie **IdP** (w tym przykładzie: **XOPEROSAML**).
>
> **ACS (Consumer) URL Validator\*:**
>
> <mark style="color:red;">**<https://XoperoONEManagementServiceURL>**</mark>/Auth/AssertionConsumerService
>
> **ACS (Consumer) URL\*:**
>
> <mark style="color:red;">**<https://XoperoONEManagementServiceURL>**</mark>/Auth/AssertionConsumerService
>
> **Single Logout URL:**
>
> <mark style="color:red;">**<https://XoperoONEManagementServiceURL>**</mark>/auth/SAMLLogoutResponse

{% hint style="warning" %}
W powyższym adresie zmień <mark style="color:red;">**XoperoONEManagementServiceURL**</mark> na swój unikalny adres URL usługi XMS. Możesz go znaleźć w adresie logowania XMS — jest to pierwsza część adresu (np. w <mark style="color:red;">**<https://12a345bc-67de-8901-2345-f6gh78901i2j.ada.xopero.com>**</mark>**/authorization/login** częścią, którą musisz skopiować, jest ta zaznaczona na <mark style="color:red;">**czerwono**</mark>).
{% endhint %}

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/aiozECpC3UK6l0JMWZyk/image.png" alt="" width="532"><figcaption></figcaption></figure>

5. W menu po lewej stronie wybierz **SSO**. Zmień **SAML Signature Algorithm** na **SHA-256**. Skopiuj wartość **Issuer URL** i zapisz ją — będzie potrzebna w konfiguracji Xopero ONE.

{% hint style="warning" %}
Aby poprawnie skonfigurować wylogowywanie, <mark style="color:red;">**wymagany**</mark> jest klucz prywatny podmiotu odbierającego żądanie. <mark style="color:red;">**Musisz**</mark> przesłać plik z rozszerzeniem **.pfx** do **Xopero ONE**. Ponieważ pliku **.pfx** nie można pobrać bezpośrednio z **OneLogin**, musisz użyć własnego certyfikatu lub go wygenerować.
{% endhint %}

{% hint style="success" %}
**OneLogin** oferuje formularz, który pozwala na wygenerowanie **certyfikatu samopodpisanego**: <https://developers.onelogin.com/saml/online-tools/x509-certs/obtain-self-signed-certs>
{% endhint %}

6. Zapisz ustawienia. W menu **Users** wybierz użytkowników, którym chcesz nadać uprawnienia do autoryzacji za pomocą **OneLogin** do **Xopero One** i zaznacz **Allow user to sign in**.

{% hint style="danger" %}
Ręcznie edytowane szczegóły logowania <mark style="color:red;">**zawsze**</mark> nadpisują te zdefiniowane przez reguły lub z atrybutami aprowizowanymi.
{% endhint %}

7. W karcie **Applications** użyj przycisku (+), aby nadać odpowiednie uprawnienia do swojej niestandardowej aplikacji.

***

## Konfiguracja w Xopero ONE <a href="#xop-onelog" id="xop-onelog"></a>

1. Zaloguj się do panelu XMS, przejdź do **Ustawień** (lewy dolny róg w menu po lewej stronie) i wybierz **Zewnętrzni dostawcy tożsamości**.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FyLocc8hEhxsfWFakVjD2%2Fimage.png?alt=media&#x26;token=e0f70e3b-8fce-4268-828b-6282e5cdf352" alt=""><figcaption></figcaption></figure>

2. Kliknij przycisk **Dodaj nowego dostawcę** i uzupełnij szczegóły:

> **Name:** nazwa własna np. **OneLogin**
>
> **Entity ID:** musi być taki sam jak ustawiony w **Configuration** (**Audience (EntityID)**) w OneLogin (w tym przykładzie jest to **XOPEROSAML**)

3. Wklej poprzednio skopiowany **Issuer URL** w polu **Metadata URL**.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FW6d5IeVK0qe0kquGo3r4%2Fimage.png?alt=media&#x26;token=694f6c34-32a2-4a8b-a2f2-684136b75e82" alt=""><figcaption></figcaption></figure>

4. Prześlij plik certyfikatu **.pfx OneLogin** i dodaj hasło, jeśli jest wymagane.
5. Ustaw **domyślny język** i **rolę** dla użytkowników z uprawnieniami uwierzytelniania **OneLogin SAML**.
6. Kliknij **Zapisz**, aby zakończyć konfigurację. Możesz teraz się wylogować i przetestować integrację logowania **SAML**.

{% hint style="warning" %}
Przy tej metodzie integracji nie można inicjować logowania ze strony aplikacji **OneLogin**. Logowanie <mark style="color:red;">**musi się zawsze odbywać**</mark> bezpośrednio ze strony **Xopero ONE**.
{% endhint %}

***

## Mapowanie grup

{% hint style="success" %}
Mapowanie grup jest przydatne, gdy chcesz przypisać różne uprawnienia wielu użytkownikom jednocześnie.
{% endhint %}

{% hint style="danger" %}
Pamiętaj, że każde nowe logowanie resetuje uprawnienia do domyślnych — ręczne zmiany działają <mark style="color:red;">**tylko podczas aktywnej sesji**</mark>.
{% endhint %}

{% hint style="warning" %}
Konfiguracja mapowania grup <mark style="color:red;">**musi**</mark> być zrobiona zarówno w **OneLogin** jak i **Xopero ONE**— rozpocznij od konfiguracji strony **OneLogin**.
{% endhint %}

1. W **OneLogin** przejdź do **User > Roles** i utwórz role (np. **XONE viewers**, **XONE admins**). Przypisz je do użytkowników.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/peVex9MLO8yBzPxQGfbL/image.png" alt="" width="563"><figcaption></figcaption></figure>

2. Następnie, w karcie **Applications**, edytuj aplikację SAML. Przejdź do **Parameters** i kliknij ikonę **(+)** aby utworzyć nowy parametr.\
   W polu **Name** wprowadź<kbd><http://schemas.xmlsoap.org/claims/Group></kbd>. Zaznacz obie flagi (**Include in SAML assertion** oraz **Multi-value parameter**) i zapisz.
3. W sekcji **Default if no value selected** wybierz **User Roles** oraz **Semicolon Delimited input** (**Multi-value output**) z menu rozwijanego i zapisz.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/RlB3XudfcTpXZ0SnH5ei/image.png" alt="" width="539"><figcaption></figcaption></figure>

4. W konsoli **Xopero ONE** przejdź do ⚙️ **Ustawienia** > **Zewnętrzni dostawcy tożsamości** i wybierz **IdP**, którego chcesz edytować.
5. Kliknij przycisk **Mapowanie grup** w lewym dolnym rogu. W polu **Typ claima** wpisz<kbd><http://schemas.xmlsoap.org/claims/Group></kbd>, a w **Wartość claima** wpisz nazwę roli (np. XONE viewers). Wybierz role i uprawnienia dla tej grupy i zapisz. Powtórz ten krok dla każdej roli.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FBowHEvbMZKuG5tMa7n45%2Fimage.png?alt=media&#x26;token=5e5a8b00-2a7f-4d1f-a192-0002aad05a40" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

***

## Korzystanie z metody uwierzytelniania IdP

Aby zalogować się do **Xopero ONE** przy użyciu dostawcy tożsamości zintegrowanego przez SAML, należy zawsze rozpoczynać proces z poziomu panelu **Xopero ONE**. Nie należy logować się do aplikacji skonfigurowanej dla **Xopero ONE** bezpośrednio z panelu IdP (na przykład z panelu **Okta**) — jedynym wyjątkiem jest **JumpCloud**, który oferuje wbudowaną opcję logowania bezpośrednio ze swojego panelu.

Aby umożliwić istniejącemu użytkownikowi **Xopero ONE** logowanie się za pośrednictwem dostawcy tożsamości (IdP), należy włączyć opcję logowania IdP dla danego konta (⚙️ **Ustawienia** > **Konta** > **Edytuj**). Gdy konto zostanie skonfigurowane do uwierzytelniania przy użyciu dostawcy tożsamości (IdP), nie będzie można przywrócić poprzedniego ustawienia. Aby zmienić metodę uwierzytelniania, konieczne jest **usunięcie konta i dodanie go ponownie**.

{% hint style="danger" %}
Włączenie logowania IdP dla konta głównego administratora (root admin) uniemożliwi zalogowanie się do systemu w przypadku niedostępności zewnętrznego dostawcy tożsamości.
{% endhint %}

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FjCTmU0QIl5EHMhn7GGXv%2Fimage.png?alt=media&#x26;token=8fec4b28-12d6-43f7-9144-5a61ff3810b9" alt=""><figcaption></figcaption></figure>

[^1]: algorytm podpisu

[^2]: logout response
