# 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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://helpcenter.xopero.com/xopero-one-en/pl/logowanie-i-haslo/zewnetrzni-dostawcy-tozsamosci-saml/konfiguracja-saml.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
