> For the complete documentation index, see [llms.txt](https://help.aiaibot.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.aiaibot.com/robot/single-sign-on-mit-microsoft-entra-id.md).

# Single Sign-On mit Microsoft Entra ID

Diese Seite beschreibt die Erstellung einer Microsoft App Registration welche in weiterer Folge für das Single Sign-On benötigt wird.

## 1. Neue App registrieren

Im Azure Portal (<https://portal.azure.com>) öffnen Sie den Bereich *App registrations*. Anschliessend erstellen Sie eine neue App mit einem Klick auf *+ New registration*.

<figure><img src="/files/VDoxdzIjAeYWU4cuSqG8" alt="" width="242"><figcaption><p>Neue App Registration</p></figcaption></figure>

Geben Sie einen Namen ein. Unter *Supported account types* wählen Sie *Single tenant* aus.

Unter *Redirect URI (optional)* wählen Sie *Web* aus und geben folgende URI ein: `https://login.aiaibot.com/oauth2/callback`

<figure><img src="/files/9hBxRHuA04z6Qddf0mh5" alt="" width="520"><figcaption><p>Name und Redirect URI der App Registraion</p></figcaption></figure>

{% hint style="warning" %}
Achten Sie genau auf die korrekte schreibweise der Redirect URI!
{% endhint %}

Erstellen Sie die App Registration mit einem Klick auf *Register*.

Kopieren Sie auf der nachfolgenden Seite folgende Werte:

* *Application (client) ID*
* *Directory (tenant) ID*

<figure><img src="/files/kaPkKBJ8YXyufCRfqyEh" alt="" width="328"><figcaption><p>Client und Tenant ID</p></figcaption></figure>

## 2. Client Secret erstellen

Klicken Sie auf *Clients & secrets* und anschliessend auf *New client secret* um ein neues Secret für die App zu erstellen.

<figure><img src="/files/KGWnachOsZaQIZZKOMe1" alt="" width="563"><figcaption><p>Certificates &#x26; secrets</p></figcaption></figure>

Vergeben Sie eine Beschreibung und wählen Sie aus, wie lange das Secret gültig sein soll.

{% hint style="warning" %}
Um sicherzustellen, dass eine Anmeldung an unserer Plattform unterbrechungsfrei möglich ist, muss ein neues Client Secret **rechtzeitig vor Ablauf** an aiaibot übermittelt werden!
{% endhint %}

Kopieren Sie das Secret in der Spalte *Value*.

<figure><img src="/files/7gMXiidpONhJUc0y3MUh" alt="" width="563"><figcaption><p>Kopieren des Secrets</p></figcaption></figure>

## 3. API Permissions vergeben

Klicken Sie auf *API permissions* um die notwendigen Berechtigungen zu vergeben.

<figure><img src="/files/YSXIfCRM9Ix0xd6tpG1A" alt="" width="563"><figcaption><p>API permission</p></figcaption></figure>

Anschliessend klicken Sie auf *+ Add a permission* und wählen dann *Microsoft Graph* aus.

<figure><img src="/files/voMAn1kXORJGdQymaPv0" alt="" width="375"><figcaption><p>Permissions für Microsoft Graph</p></figcaption></figure>

### Benötigte Permissions

Es wird die Permission `openid` benötigt. Wählen Sie diese aus und klicken Sie auf *Add permission*.

<figure><img src="/files/gbBc9XYikIdRKC6wsmjS" alt="" width="563"><figcaption></figcaption></figure>

## 4. Token konfigurieren

Klicken Sie auf *Token configuration* um den ID-Token entsprechend zu konfigurieren. Wählen Sie anschliessend *Add group claims*:

<figure><img src="/files/4sXDAwxa61DMdu8e3t9H" alt="" width="563"><figcaption></figcaption></figure>

Damit die Gruppennamen im ID-Token inkludiert werden, markieren Sie *All groups*. In den Abschnitten *ID* und *Access* wählen Sie `sAMAccountName` aus, damit die Gruppennamen korrekt übermittelt werden.

<figure><img src="/files/boJEghdfcnqzV7q4mgGo" alt=""><figcaption></figcaption></figure>

Klicken Sie dann auf *Add* um die Tokenkonfiguration abzuschliessen.

## 5. Gruppe für Backend-Benutzer (optional)

Wir empfehlen, alle Benutzer mit Zugriff auf das aiaibot-Backend in eine eigene Gruppe zu geben. So können Sie über die Gruppenzugehörigkeit steuern, wer Zugriff auf das Backend hat. Die Gruppe kann zum Beispiel `aiaibot_Admins` heissen.

## 6. Datenübermittlung an aiaibot

Damit die Einrichtung erfolgreich abgeschlossen werden kann, benötigen wir folgenden Daten:

* *Application (client) ID* aus [Schritt 1](#id-1.-neue-app-registrieren)
* *Directory (tenant) ID* aus [Schritt 1](#id-1.-neue-app-registrieren)
* *Client Secret* aus [Schritt 2](#id-2.-client-secret-erstellen)
* Domain für die das Single Sign-On aktiviert werden soll.
* Name der Gruppe für Backend-Benutzer (optional)

Diese sind an aiaibot zu übermitteln.
