Aktivieren des einmaligen Anmeldens für Ihre App

Mit dem einmaligen Anmelden (Single Sign-On, SSO) in Teams haben App-Benutzer den Vorteil, dass Sie Teams verwenden, um auf Bot- oder Nachrichtenerweiterungs-Apps zuzugreifen. Nachdem Sie sich mit dem Microsoft- oder Microsoft 365-Konto bei Teams angemeldet haben, können App-Benutzer Ihre App verwenden, ohne sich erneut anmelden zu müssen. Ihre App ist für App-Benutzer auf jedem Gerät verfügbar, auf dem der Zugriff über Microsoft Entra-ID gewährt wird.

Hinweis

SSO für eine Bot-App in Teams wird nur in Einzelchats unterstützt.

In diesem Abschnitt wird die SSO-Konfiguration behandelt, die für Bot- und Messagingerweiterungs-Apps erforderlich ist.

SSO-Benutzererfahrung in Teams

App-Benutzer melden sich bei Teams entweder mit einem persönlichen Microsoft-Konto oder einem Microsoft 365-Konto an. Sie können dies nutzen und SSO verwenden, um die App-Benutzer zu authentifizieren und zu autorisieren. Microsoft Entra-ID bietet App-Benutzern Zugriff auf Ihren Bot oder Ihre Nachrichtenerweiterungs-App.

  • Teams authentifiziert und speichert die Identität des App-Benutzers.
  • Ihr Bot verwendet die gespeicherte Identität des App-Benutzers, der bereits von Teams überprüft wurde.
  • Der App-Benutzer muss Teams seine Zustimmung für die Verwendung der Identität für den Zugriff auf Ihren Bot erteilen.
  • Der App-Benutzer kann auf die App im Web, Desktop oder mobilen Client zugreifen.

Hinweis

App-Benutzer können einigen Berechtigungsbereichen keine Berechtigung erteilen, z.B. Sites.ReadWrite.All, wodurch der App-Benutzer alle SharePoint- und OneDrive-Objekte im Mandanten lesen und schreiben kann. Für solche Bereiche kann nur der Mandantenadministrator die Zustimmung im Namen eines App-Benutzers erteilen.

Sehen wir uns nun an, was während der Laufzeit im Back-End geschieht, um die SSO-Erfahrung in Teams zu erreichen.

SSO in Teams zur Laufzeit

Erreichen Sie SSO in einem Bot oder einer Nachrichtenerweiterungs-App, indem Sie das Zugriffstoken für den aktuell angemeldeten Teams-App-Benutzer abrufen. Dieser Prozess umfasst den Bot-App-Client und -Server, den Teams-Client, Bot Framework und Microsoft Entra-ID. Während dieser Interaktion muss der App-Benutzer seine Zustimmung zum Abrufen des Zugriffstokens in einer mehrinstanzenfähigen Umgebung erteilen.

Die folgende Abbildung zeigt, wie einmaliges Anmelden funktioniert, wenn ein Teams-App-Benutzer versucht, auf den Bot oder die Nachrichtenerweiterungs-App zuzugreifen:

SSO für Bots und Nachrichtenerweiterung zur Laufzeit

# Interaktion Was gerade geschieht
1 Teams-Client → Bot-Dienst Die Nachricht, die der App-Benutzer sendet, wird vom Teams-Client empfangen, der sie an den Bot sendet.
Wenn sich der App-Benutzer zuvor angemeldet hat, wird ein Token im Bot Framework-Tokenspeicher gespeichert. Der Bot ruft den Bot Framework-Tokendienst auf, der im Bot Framework-Tokenspeicher nach einem vorhandenen Token für den App-Benutzer sucht.
• Wenn das Token vorhanden ist, erhält der App-Benutzer Zugriff.
• Wenn kein Token verfügbar ist, löst der Bot den Authentifizierungsflow aus.
2 Bot service → Bot Framework Token Service Der Bot ruft den Bot Framework-Tokendienst auf, um einen Anmeldelink für den Benutzer abzurufen.
3 Bot Framework Token Service → Teams-Client Für Bot-App: Bot Framework Token Service sendet die Anforderung für den Anmeldelink an den Botdienst, der ihn an den Teams-Client in einem OAuth-Karte weiterleitet.
Für Nachrichtenerweiterungs-App: Anstelle der OAuth-Karte sendet der Bot Framework-Tokendienst eine Aufrufanforderung.
4 Teams Client → Bot Service → Bot Framework Token Service → Microsoft Entra ID Nachdem der Teams-Client die OAuth-Karte für den App-Benutzer empfangen hat, sendet er, wenn SSO aktiviert ist, eine Tokenaustauschanforderung für den App-Benutzer zurück an den Bot. Der Bot ruft den Bot Framework-Tokendienst auf und versucht, das empfangene Token von Microsoft Entra-ID auszutauschen.
5 Microsoft Entra-ID → Teams-Client Für den App-Benutzer, der den Botdienst zum ersten Mal verwendet, kann der Tokenaustausch nur erfolgen, nachdem der App-Benutzer seine Zustimmung erteilt hat. Der Teams-Client zeigt dem App-Benutzer eine Meldung zur Erteilung der Zustimmung an.
Falls die Zustimmung fehlschlägt:
1. Die Authentifizierung greift auf die Anmeldeaufforderung zurück, und der App-Benutzer muss sich anmelden, um die Bot-App zu verwenden. Die Schaltfläche "Anmeldung" wird im Teams-Client angezeigt, und wenn der App-Benutzer sie auswählt, wird die Microsoft Entra Anmeldeseite gerendert.
2. Der App-Benutzer meldet sich an und gewährt Zugriff auf den Botdienst.
6 Bot service → Bot Framework Token Service Das Token für den App-Benutzer wird im Bot Framework-Tokenspeicher gespeichert.

Für einen Bot oder eine Nachrichtenerweiterungs-App sendet die Bot-App eine OAuth-Karte an den Teams-Client. Dieser Karte wird verwendet, um das Zugriffstoken von Microsoft Entra-ID mithilfe tokenExchangeResourcevon abzurufen. Nach der Zustimmung des App-Benutzers sendet der Teams-Client das von Microsoft Entra ID empfangene Token mithilfe von tokenExchangean die Bot-App. Die Bot-App kann dann das Token analysieren, um die Informationen des App-Benutzers abzurufen, z. B. die E-Mail-Adresse.

Wichtig

Ein Bot oder eine Nachrichtenerweiterungs-App kann über mehrere aktive Endpunkte verfügen. Der App-Benutzer erhält zum ersten Mal eine Zustimmungsanforderung für alle aktiven Endpunkte.

Aktivieren von SSO für eine Teams-App

Die Bot- und Nachrichtenerweiterungs-Apps verwenden Bot Framework, um die Kommunikation mit den App-Benutzern zu verarbeiten.

  • Bot-App: Sie wird auch als Chatbot oder Konversationsbot bezeichnet und ist ein Dienst, der einfache und sich wiederholende Aufgaben für App-Benutzer ausführt. Bots können Teil einer größeren Anwendung oder ein eigenständiger Dienst sein.

  • Nachrichtenerweiterungs-App: Es handelt sich um einen Webdienst, den Sie hosten und über den Teams-Client aufrufen können. Es verwendet das Messagingschema eines Bots, um eine sichere Kommunikation zu gewährleisten. Sie müssen Ihren Webdienst als Bot registrieren, um einmaliges Anmelden für Ihre Nachrichtenerweiterungs-App zu aktivieren.

In diesem Abschnitt werden die Aufgaben beschrieben, die beim Implementieren des einmaligen Anmeldens für einen Teams-Bot oder eine Nachrichtenerweiterungs-App erforderlich sind. So aktivieren Sie SSO für einen Teams-Bot oder eine Nachrichtenerweiterungs-App:

  1. App mit Microsoft Entra-ID konfigurieren: Erstellen Sie eine Microsoft Entra App, um eine App-ID und einen Anwendungs-ID-URI zu generieren. Zum Generieren eines Zugriffstokens konfigurieren Sie Bereiche und autorisieren vertrauenswürdige Clientanwendungen. Die konfiguration, die in Microsoft Entra ID zum Aktivieren des einmaligen Anmeldens in einem Bot und nachrichtenerweiterungs-Apps erforderlich ist, ist identisch. Erstellen Sie eine Botressource, und konfigurieren Sie den geheimen Clientschlüssel, den Messagingendpunkt und die OAuth-Verbindung, um einmaliges Anmelden zu aktivieren.

  2. Code hinzufügen: Fügen Sie den Code zum Behandeln des Zugriffstokens hinzu, um dieses Token an den Servercode Ihrer App im Autorisierungsheader zu senden und das Zugriffstoken beim Empfang zu überprüfen. Der Code, der zum Aktivieren des einmaligen Anmeldens in einer Bot-App erforderlich ist, unterscheidet sich von dem Code, der für eine Nachrichtenerweiterungs-App erforderlich ist.

    Hinweis

    In diesem Abschnitt können Sie die App auswählen, für die Sie Code zum Aktivieren von SSO hinzufügen möchten.

  3. App-Manifest aktualisieren (zuvor Teams-App-Manifest genannt): Aktualisieren Sie Ihr App-Manifest mit der App-ID und dem Anwendungs-ID-URI, die in Microsoft Entra ID generiert wurden, damit Teams Zugriffstoken im Namen Ihrer App anfordern kann. Das in der App-Manifestdatei erforderliche Update ist für Bot- und Nachrichtenerweiterungs-Apps identisch.

  4. Konfigurieren von Graph-Bereichen und -Berechtigungen: Sie können Ihrer App weitere Bereiche hinzufügen, indem Sie Ihre App mit Microsoft Graph-Berechtigungen und -Bereichen erweitern.

Nächster Schritt

Siehe auch

Glossar