Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mit einmaligem Anmelden (Single Sign-On, SSO) in Microsoft Teams können sich App-Benutzer mit einem Microsoft- oder Microsoft 365-Konto bei Teams anmelden und Bot- und Nachrichtenerweiterungs-Apps verwenden, ohne sich erneut anmelden zu müssen. Ihre App ist für App-Benutzer auf jedem Gerät mit Zugriff über Microsoft Entra ID verfügbar.
Hinweis
SSO für eine Bot-App in Teams wird im Einzel- und Gruppenchatbereich unterstützt, und im Kanalbereich nicht.
In diesem Abschnitt wird die SSO-Konfiguration beschrieben, die für Bot- und Messaging-Erweiterungs-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 ermöglicht App-Benutzern Zugriff auf Ihren Bot oder Ihre Nachrichtenerweiterungs-App, unabhängig davon, ob es sich um einen persönlichen Bereich oder einen Gruppenbereich handelt.
- Teams authentifiziert und speichert die Identität des App-Benutzers.
- Ihr Bot verwendet die gespeicherte Identität des App-Benutzers, die bereits von Teams überprüft wurde.
- Der App-Benutzer muss Teams seine Zustimmung zur Verwendung der Identität für den Zugriff auf Ihren Bot geben.
- Der App-Benutzer kann auf die App im Web, Desktop oder mobilen Client zugreifen.
Sehen wir uns an, wie SSO in verschiedenen Bereichen funktioniert.
Im persönlichen Bereich interagiert der App-Benutzer mit dem Bot oder der Nachrichtenerweiterungs-App in einem Einzelchat. Der Benutzer muss der Verwendung des Bots oder der Nachrichtenerweiterungs-App nur einmal zustimmen.
Die Berechtigungsbereiche für den Zugriff auf Ressourcen bleiben sowohl im persönlichen als auch im Gruppenbereich gleich. Weitere Informationen finden Sie unter Hinzufügen von Code zum Aktivieren von SSO in Ihrer Bot-App.
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 Administrator 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 einer Bot- oder Nachrichtenerweiterungs-App, indem Sie das Zugriffstoken für den Teams App-Benutzer abrufen, der angemeldet ist. Dieser Prozess umfasst den Bot-App-Client und -Server, den Teams-Client, das Bot-Framework und Microsoft Entra ID. Während dieser Interaktion muss der App-Benutzer seine Zustimmung geben, um das Zugriffstoken in einer mehrinstanzenfähigen Umgebung zu erhalten.
Die folgende Abbildung zeigt, wie SSO funktioniert, wenn ein Teams-App-Benutzer versucht, auf den Bot oder die Nachrichtenerweiterungs-App zuzugreifen:
| # | Interaktion | Was gerade geschieht |
|---|---|---|
| 1 | Teams-Client → Bot-Service | 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 Token Store gespeichert. Der Bot ruft den Bot Framework Token Service auf, der im Bot Framework Token Store 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 Authentifizierungsfluss aus. |
| 2 | Bot service → Bot Framework Token Service | Der Bot ruft den Bot Framework Token Service auf, um einen Anmeldelink für den Benutzer zu erhalten. |
| 3 | Bot Framework Token-Dienst → Teams-Client | • Für Bot-App: Der Bot Framework Token Service sendet den Link zur Anfrage für die Anmeldung an den Botdienst, der sie in einer OAuth-Karte an den Teams-Client weiterleitet. • Für die Nachrichtenerweiterungs-App: Anstelle der OAuth-Karte sendet der Bot Framework Token Service 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 erhalten hat, sendet er bei aktiviertem SSO eine Tokenaustauschanforderung für den App-Benutzer zurück an den Bot. Der Bot ruft den Bot Framework Token Service 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 erst erfolgen, nachdem der App-Benutzer seine Zustimmung erteilt hat. Der Teams-Client zeigt dem App-Benutzer eine Nachricht an, in der er aufgefordert wird, seine Zustimmung zu erteilen. 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 verwenden zu können. Die Anmeldeschaltfläche 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 Token Store gespeichert. |
Bei einem Bot oder einer Nachrichtenerweiterungs-App sendet die Bot-App eine OAuth-Karte an den Teams-Client. Diese Karte wird verwendet, um das Zugriffstoken von Microsoft Entra ID abzurufen.tokenExchangeResource Nach Zustimmung des App-Benutzers sendet der Teams-Client das von Microsoft Entra ID empfangene Token mithilfe von tokenExchange. 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 mehr als einen aktiven Endpunkt haben. Das erste Mal, dass der App-Benutzer eine Zustimmungsanforderung für alle aktiven Endpunkte erhält.
SSO für eine Teams-App aktivieren
Die Bot- und Nachrichtenerweiterungs-Apps verwenden Bot Framework, um die Kommunikation mit den App-Benutzern zu verarbeiten.
Bot-App: Auch als Chatbot oder Konversationsbot bezeichnet, handelt es sich um einen 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 der innerhalb des Teams-Clients aufgerufen werden kann. Es verwendet das Messagingschema eines Bots, um eine sichere Kommunikation zu gewährleisten. Sie müssen Ihren Webdienst als Bot registrieren, um SSO für Ihre Nachrichtenerweiterungs-App zu aktivieren.
In diesem Abschnitt werden die Aufgaben beschrieben, die mit der Implementierung von SSO für einen Teams-Bot oder eine Nachrichtenerweiterungs-App verbunden sind. So aktivieren Sie SSO für einen Teams-Bot oder eine Nachrichtenerweiterungs-App:
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 von SSO in einer Bot- und Nachrichtenerweiterungs-App erforderlich ist, ist identisch. Erstellen Sie eine Bot-Ressource, und konfigurieren Sie den geheimen Clientschlüssel, den Messaging-Endpunkt und die OAuth-Verbindung, um SSO zu aktivieren.
Wichtig
Wenn Ihr Bot mit benutzerseitig zugewiesener verwalteter Identität erstellt wird, wird nicht automatisch eine App-Registrierung erstellt. Sie müssen eine separate App-Registrierung in Microsoft Entra ID erstellen, die erforderlichen Berechtigungen zuweisen und die Anwendungs-ID (Client-ID) im
webApplicationInfoAbschnitt des App-Manifests verwenden. Weitere Informationen finden Sie unter webApplicationInfo-Eigenschaft.Code hinzufügen: Fügen Sie den Code zur Behandlung 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 von SSO in einer Bot-App erforderlich ist, unterscheidet sich vom 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.
Aktualisieren des App-Manifests (zuvor als Teams-App-Manifest bezeichnet): 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 können. Das in der App-Manifestdatei erforderliche Update ist für Bot- und Nachrichtenerweiterungs-Apps identisch.
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.