Authentifizierung für Ihren Teams-Bot hinzufügen

Sie können Bots in Microsoft Teams erstellen, die im Namen von Benutzern auf Ressourcen (z. B. einen E-Mail-Dienst) zugreifen, indem Sie die Teams-SDK-Authentifizierung basierend auf OAuth 2.0 verwenden. Diese Methode erleichtert die Entwicklung eines Bots, der Authentifizierungstoken basierend auf den Anmeldeinformationen des Benutzers verwenden kann. Der Schlüssel ist die Verwendung von Identitätsanbietern.

OAuth 2.0 ist ein offener Standard für Authentifizierung und Autorisierung, der von Microsoft Entra ID und vielen anderen Identitätsanbietern verwendet wird. Ein grundlegendes Verständnis von OAuth 2.0 ist eine Voraussetzung für die Arbeit mit der Authentifizierung in Teams.

Siehe OAuth 2 Simplified für grundlegende Informationen und OAuth 2.0 für die vollständige Spezifikation.

In diesem Artikel erhalten Sie Informationen zu folgenden Themen:

  • So erstellen Sie einen authentifizierungsfähigen Bot: Verwenden Sie cs-auth-sample , um die Anmeldeinformationen der Benutzer zu verarbeiten und das Authentifizierungstoken zu generieren.
  • Bereitstellen des Bots in Azure und Zuordnen zu einem Identitätsanbieter: Der Anbieter stellt ein Token basierend auf den Anmeldeinformationen des Benutzers aus. Der Bot kann das Token verwenden, um auf Ressourcen zuzugreifen, z. B. einen E-Mail-Dienst, für den eine Authentifizierung erforderlich ist.
  • So integrieren Sie den Bot in Microsoft Teams: Sobald der Bot integriert ist, können Sie sich mit ihm in einem Chat anmelden und Nachrichten austauschen.

Voraussetzungen

  • Kenntnisse der Bot-Grundlagen und des Teams SDK.

  • Kenntnisse der Azure- und OAuth 2.0-Entwicklung.

  • Die neuesten Versionen von Microsoft Visual Studio und Git.

  • Azure-Konto. Bei Bedarf können Sie ein kostenloses Azure-Kontoerstellen.

  • Es folgen einige Beispielszenarien:

    Beispiel
    Schnellstart zur Botauthentifizierung in cs-auth-sample
    Schnellstart für Bot-Authentifizierung in js-auth-sample
    Schnellstart zur Botauthentifizierung in py-auth-sample

Erstellen der Ressourcengruppe

Die Ressourcengruppe und der Serviceplan sind nicht unbedingt erforderlich, aber sie ermöglichen es Ihnen, die von Ihnen erstellten Ressourcen bequem freizugeben. Es wird empfohlen, Ihre Ressourcen organisiert und überschaubar zu halten.

Sie verwenden eine Ressourcengruppe, um einzelne Ressourcen für den Bot zu erstellen. Stellen Sie aus Leistungsgründen sicher, dass sich diese Ressourcen in derselben Azure-Region befinden.

  1. Melden Sie sich in Ihrem Browser beim Microsoft Azure-Portal an.
  2. Wählen Sie im linken Navigationsbereich Ressourcengruppen aus.
  3. Wählen Sie oben links im angezeigten Fenster die Registerkarte Hinzufügen aus, um eine neue Ressourcengruppe zu erstellen. Geben Sie die folgenden Details an:
    1. Abonnement: Verwenden Sie Ihr vorhandenes Abonnement.
    2. Ressourcengruppe. Geben Sie den Namen für die Ressourcengruppe ein. Ein Beispiel könnte TeamsResourceGroup sein. Denken Sie daran, dass der Name eindeutig sein muss.
    3. Wählen Sie im Dropdownmenü "Region " die Option "USA, Westen" oder eine Region in der Nähe Ihrer Anwendungen aus.
    4. Wählen Sie die Schaltfläche Überprüfen und erstellen aus. Es sollte ein Banner mit der Aufschrift Prüfung bestanden angezeigt werden.
    5. Wählen Sie die Schaltfläche Erstellen aus. Das Erstellen der Ressourcengruppe kann einige Minuten dauern.

Tipp

Wie bei den Ressourcen, die Sie später in diesem Tutorial erstellen, empfiehlt es sich, diese Ressourcengruppe für den einfachen Zugriff an Ihr Dashboard anzuheften. Wenn Sie dies tun möchten, wählen Sie das Stecknadelsymbol 📌 oben rechts im Dashboard aus.

Erstellen des Serviceplans

  1. Wählen Sie im linken Navigationsbereich im Azure-Portal die Option Ressource erstellen aus.
  2. Geben Sie im Suchfeld App-Serviceplan ein. Wählen Sie in den Suchergebnissen die Karte App-Serviceplan aus.
  3. Wählen Sie Erstellen aus.
  4. Geben Sie die folgenden Informationen an:
    1. Abonnement: Sie können ein vorhandenes Abonnement verwenden.
    2. Ressourcengruppe. Wählen Sie die Gruppe aus, die Sie zuvor erstellt haben.
    3. Name. Geben Sie den Namen für den Serviceplan ein. Ein Beispiel könnte TeamsServicePlan sein. Denken Sie daran, dass der Name innerhalb der Gruppe eindeutig sein muss.
    4. Betriebssystem. Wählen Sie Windows oder Ihr entsprechendes Betriebssystem aus.
    5. Region. Wählen Sie USA, Westen oder eine Region in der Nähe Ihrer Anwendungen aus.
    6. Preisstufe. Wählen Sie den Standardwert "Standard S1" aus.
    7. Wählen Sie die Schaltfläche Überprüfen und erstellen aus. Es sollte ein Banner mit der Aufschrift Prüfung bestanden angezeigt werden.
    8. Wählen Sie Erstellen aus. Das Erstellen des App Service-Plans kann einige Minuten in Anspruch nehmen. Der Plan wird in der Ressourcengruppe aufgelistet.

Erstellen der Azure Bot-Ressourcenregistrierung

Die Azure Bot-Ressourcenregistrierung registriert Ihren Webdienst als Bot mit dem Azure Bot Service, der Ihnen eine Microsoft-App-ID und ein App-Kennwort (geheimer Clientschlüssel) zur Verfügung stellt.

Wichtig

Sie müssen Ihren Bot nur registrieren, wenn er nicht in Azure gehostet wird. Wenn Sie einen Bot über die Azure-Portal erstellt haben, ist er bereits beim Dienst registriert. Wenn Sie Ihren Bot über das Entwicklerportal erstellt haben, ist Ihr Bot nicht in Azure registriert.

  1. Besuchen Sie Azure-Portal und suchen Sie im Abschnitt Erstellen einer Ressource nach Azure Bot.

  2. Öffnen Sie den Azure Bot, und wählen Sie Erstellen aus.

  3. Geben Sie den Namen des Bot-Handle in das Feld Bot-Handle ein.

  4. Wählen Sie Ihr Abonnement aus der Dropdownliste aus.

  5. Wählen Sie Ihre Ressourcengruppe aus der Dropdownliste aus.

  6. Wählen Sie den App-Typ alsEinzelmandant aus. Trotz des Namens schränkt diese Auswahl den Bot nicht bei der Installation und Verwendung in einem Mandanten ein.

    Der Screenshot zeigt, wie Sie mehrere Mandanten für Microsoft AppID auswählen.

  7. Wählen Sie Überprüfen + erstellen aus.

    Der Screenshot zeigt, wie ein Azure-Bot erstellt wird.

  8. Wenn die Prüfung bestanden wurde, wählen Sie Erstellen aus.

    Azure stellt Ihren Bot bereit.

    Screenshot zeigt, wie die Azure Bot-Überprüfung erfolgreich ist.

  9. Wählen Sie Zu Ressource wechseln aus. Der Bot und die zugehörigen Ressourcen werden in der Ressourcengruppe aufgeführt.

    Screenshot zeigt, wie die Ressourcengruppe ausgewählt wird.

    Ihr Azure-Bot wird erstellt.

    Screenshot zeigt, wie Azure Bot-Ressourcen erstellt werden.

So erstellen Sie den geheimen Clientschlüssel:

  1. Wählen Sie in Einstellungen die Option Konfiguration aus. Speichern Sie die Microsoft App-ID (Client-ID) zur zukünftigen Referenz.

    Der Screenshot zeigt, wie Sie die Microsoft-App-ID zum Erstellen des geheimen Clientschlüssels hinzufügen.

  2. Wählen Sie neben "Microsoft App ID" die Option "Verwalten" aus.

    Der Screenshot zeigt, wie ein Bot erstellt und verwaltet wird.

  3. Klicken Sie im Abschnitt "Geheime Clientschlüssel" auf "Neuer geheimer Clientschlüssel". Das Fenster "Geheimen Clientschlüssel hinzufügen" wird angezeigt.

    Der Screenshot zeigt, wie ein neuer geheimer Clientschlüssel erstellt wird.

  4. Geben Sie Beschreibung ein, und wählen Sie Hinzufügen aus.

    Der Screenshot zeigt, wie die Beschreibung für den geheimen Clientschlüssel eingegeben wird.

  5. Wählen Sie in der Spalte WertIn Zwischenablage kopieren aus, und speichern Sie die Clientgeheimnis-ID zur späteren Referenz.

    Der Screenshot zeigt, wie die ID des geheimen Clientschlüssels für zukünftige Referenzen gespeichert wird.

So fügen Sie den Microsoft Teams-Kanal hinzu:

  1. Wechseln Sie zu Startseite.

    Screenshot: Bot-Startseite.

  2. Öffnen Sie Ihren Bot aus dem Abschnitt Zuletzt verwendete Ressourcen .

  3. Wählen Sie im linken Bereich Kanäle und dann Microsoft Teams aus.

    Screenshot zeigt, wie Teams in Kanälen ausgewählt werden.

  4. Aktivieren Sie das Kontrollkästchen, um die Nutzungsbedingungen zu akzeptieren, und wählen Sie Zustimmen aus.

    Screenshot zeigt, wie die Bedingungen für den Service festgelegt werden.

  5. Klicken Sie auf Speichern.

    Screenshot zeigt, wie ein Microsoft Teams-Kanal hinzugefügt wird.

Weitere Informationen finden Sie unter Erstellen eines Bot für Microsoft Teams.

Erstellen des Identitätsanbieters

Sie benötigen einen Identitätsanbieter für die Authentifizierung. In diesem Verfahren verwenden Sie einen Microsoft Entra-Anbieter. Alternativ können Sie auch andere von Microsoft Entra ID unterstützte Identitätsanbieter verwenden.

  1. Wählen Sie im Azure-Portal im linken Navigationsbereich die Option Microsoft Entra ID aus.

    Tipp

    Sie müssen diese Microsoft Entra-Ressource in einem Mandanten erstellen und registrieren, in dem Sie der Delegierung von Berechtigungen, die von einer Anwendung angefordert werden, zustimmen können. Anweisungen zum Erstellen eines Mandanten finden Sie unter Zugreifen auf das Portal und Erstellen eines Mandanten.

  2. Wählen Sie im linken Bereich App-Registrierungenaus.

  3. Wählen Sie im rechten Bereich oben links die Registerkarte Neue Registrierung aus.

  4. Geben Sie die folgenden Informationen an:

    1. Name. Geben Sie den Namen für die Anwendung ein. Ein Beispiel könnte BotTeamsIdentity sein. Denken Sie daran, dass der Name eindeutig sein muss.
    2. Wählen Sie Unterstützte Kontotypen für Ihre Anwendung aus. Wählen Sie Konten in einem beliebigen Organisationsverzeichnis (beliebiger Microsoft Entra ID-Mandant – mehrinstanzenfähig) und persönliche Microsoft-Konten (z. B. Skype, Xbox) aus.
    3. Für den Umleitungs-URI:
      ✓ Wählen Sie Web.
      ✓ Legen Sie die URL auf fest.https://token.botframework.com/.auth/web/redirect
    4. Wählen Sie Registrieren aus.
  5. Nachdem Azure die App erstellt hat, wird die Seite "Übersicht" für die App angezeigt. Kopieren und speichern Sie die folgenden Informationen in eine Datei:

    1. Der Wert der Anwendungs-ID (Client). Verwenden Sie diesen Wert später als Client-ID, wenn Sie diese Azure-Identitätsanwendung bei Ihrem Bot registrieren.
    2. Der Wert der Verzeichnis-ID (Mandant). Verwenden Sie diesen Wert später als Mandanten-ID, wenn Sie diese Azure-Identitätsanwendung bei Ihrem Bot registrieren.
  6. Wählen Sie im linken Bereich Zertifikate & geheime Schlüssel aus, um einen geheimen Clientschlüssel für Ihre Anwendung zu erstellen.

    1. Wählen Sie unter Geheime Clientschlüssel die Option Neues geheime Clientschlüssel aus ➕.
    2. Fügen Sie eine Beschreibung hinzu, um diesen geheimen Schlüssel von anderen zu identifizieren, die Sie möglicherweise für diese App erstellen müssen, z. B. Bot-Identitäts-App in Teams.
    3. Legen Sie das Ablaufdatum auf das gewünschte Datum fest.
    4. Klicken Sie auf Hinzufügen.
    5. Bevor Sie diese Seite verlassen, den geheimen Schlüssel notieren. Verwenden Sie diesen Wert später als geheimen Clientschlüssel, wenn Sie Ihre Microsoft Entra-Anwendung bei Ihrem Bot registrieren.

Konfigurieren der Identitätsanbieterverbindung und Registrieren beim Bot

Hinweis

Es gibt hier zwei Optionen für Dienstanbieter: Azure Active Directory v1 und Azure Active Directory v2. Die Unterschiede zwischen den beiden Anbietern werden hier zusammengefasst, aber im Allgemeinen bietet v2 mehr Flexibilität in Bezug auf das Ändern von Bot-Berechtigungen. Graph-API-Berechtigungen werden im Feld "Bereiche" aufgeführt, und wenn neue hinzugefügt werden, ermöglichen Bots Benutzern, den neuen Berechtigungen bei der nächsten Anmeldung zuzustimmen. Für v1 muss die Bot-Zustimmung vom Benutzer gelöscht werden, damit neue Berechtigungen im OAuth-Dialogfeld angefordert werden können.

Microsoft Azure Active Directory (Azure AD) v1

  1. Wählen Sie im Azure-Portal Ihre Ressourcengruppe aus dem Dashboard aus.

  2. Wählen Sie den Link zur Botregistrierung aus.

  3. Öffnen Sie die Ressourcenseite, und wählen Sie Konfiguration unter Einstellungen aus.

  4. Wählen Sie OAuth-Verbindungseinstellungen hinzufügen aus. In der folgenden Abbildung wird die entsprechende Auswahl auf der Ressourcenseite angezeigt:

    SampleAppDemoBot-Konfiguration

  5. Füllen Sie das Formular wie folgt aus:

    1. Name. Geben Sie einen Namen für die Verbindung ein. Sie verwenden diesen Namen in Ihrem Bot in der appsettings.json Datei. Beispielsweise BotTeamsAuthADv1.

    2. Dienstanbieter. Wählen Sie Azure Active Directory aus. Wenn Sie diese Option auswählen, werden die für Azure Active Directory spezifischen Felder angezeigt.

    3. Client-ID. Geben Sie die Anwendungs-ID (Client-ID) ein, die Sie für Ihre Azure-Identitätsanbieter-App aufgezeichnet haben.

    4. Geheimer Clientschlüssel. Geben Sie das Geheimnis ein, das Sie für Ihre Azure-Identitätsanbieter-App aufgezeichnet haben.

    5. Gewährungstyp. authorization_code eingeben.

    6. Anmelde-URL. https://login.microsoftonline.com eingeben.

    7. Mandanten-ID: Geben Sie die Directory-ID (Mandant) ein, die Sie zuvor für Ihre Azure-Identitäts-App notiert haben, oder Allgemeines, je nachdem, welchen unterstützten Kontotyp Sie beim Erstellen der Identitätsanbieter-App ausgewählt haben. Gehen Sie folgendermaßen vor, um zu entscheiden, welcher Wert zugewiesen werden soll:

      • Wenn Sie entweder Konten in diesem Organisationsverzeichnis (nur Microsoft – einzelner Mandant) oder Konten in einem beliebigen Organisationsverzeichnis (beliebiger Microsoft Entra ID-Mandant – mehrinstanzfähig) ausgewählt haben, geben Sie die Mandanten-ID ein, die Sie zuvor für die Microsoft Entra-App notiert haben. Dies ist der Mandant, der den Benutzern zugeordnet ist, die authentifiziert werden können.

      • Wenn Sie Konten in einem beliebigen Organisationsverzeichnis (beliebiger Microsoft Entra ID-Mandant – mehrinstanzenfähig) und persönliche Microsoft-Konten (z. B. Skype, Xbox) ausgewählt haben, geben Sie das Wort common anstelle einer Mandanten-ID ein. Andernfalls überprüft die Microsoft Entra-App über den Mandanten, dessen ID ausgewählt wurde, und schließt persönliche Microsoft-Konten aus.

    h. Geben Sie für die Ressourcen-URL "https://graph.microsoft.com/" ein. Diese URL wird im Codebeispiel nicht verwendet.
    i. Lassen Sie das Feld Bereiche leer. Die folgende Abbildung dient lediglich als Beispiel:

    Screenshot zeigt, wie Teams Bot Auth Bot-Identität Verbindung adv1 hinzugefügt wird.

  6. Klicken Sie auf Speichern.

Microsoft Azure Active Directory (Azure AD) v2

  1. Wählen Sie im Azure-Portal Ihren Azure-Bot aus dem Dashboard aus.

  2. Wählen Sie auf der Ressourcenseite unter EinstellungenKonfiguration aus.

  3. Wählen Sie OAuth-Verbindungseinstellungen hinzufügen aus.
    In der folgenden Abbildung wird die entsprechende Auswahl auf der Ressourcenseite angezeigt:

    Screenshot zeigt die entsprechende Auswahl auf der Ressourcenseite.

  4. Füllen Sie das Formular wie folgt aus:

    1. Name. Geben Sie einen Namen für die Verbindung ein. Verwenden Sie diesen Namen in Ihrem Bot in der appsettings.json Datei. Beispielsweise BotTeamsAuthADv2.

    2. Dienstanbieter. Wählen Sie Azure Active Directory v2 aus. Wenn Sie diese Option auswählen, werden die spezifischen Felder für Azure AD v2 angezeigt.

    3. Client-ID. Geben Sie die Anwendungs-ID (Client-ID) ein, die Sie für Ihre Azure-Identitätsanbieter-App aufgezeichnet haben.

    4. Geheimer Clientschlüssel. Geben Sie das Geheimnis ein, das Sie für Ihre Azure-Identitätsanbieter-App aufgezeichnet haben.

    5. Tokenaustausch-URL. Lassen Sie dieses Feld leer.

    6. Mandanten-ID. Geben Sie die Directory-ID (Mandant) ein, die Sie zuvor für Ihre Azure-Identitäts-App notiert haben, oder Allgemeines, je nachdem, welchen unterstützten Kontotyp Sie beim Erstellen der Identitätsanbieter-App ausgewählt haben. Gehen Sie folgendermaßen vor, um zu entscheiden, welcher Wert zugewiesen werden soll:

      • Wenn Sie entweder Konten in diesem Organisationsverzeichnis (nur Microsoft – einzelner Mandant) oder Konten in einem beliebigen Organisationsverzeichnis (beliebiger Microsoft Entra ID-Mandant – mehrinstanzfähig) ausgewählt haben, geben Sie die Mandanten-ID ein, die Sie zuvor für die Microsoft Entra-App notiert haben. Dies ist der Mandant, der den Benutzern zugeordnet ist, die authentifiziert werden können.

      • Wenn Sie Konten in einem beliebigen Organisationsverzeichnis (beliebiger Microsoft Entra ID-Mandant – mehrinstanzenfähig) und persönliche Microsoft-Konten (z. B. Skype, Xbox) ausgewählt haben, geben Sie das Wort common anstelle einer Mandanten-ID ein. Andernfalls überprüft die Microsoft Entra-App über den Mandanten, dessen ID ausgewählt wurde, und schließt persönliche Microsoft-Konten aus.

    7. Geben Sie für Bereiche eine durch Leerzeichen getrennte Liste von Graphberechtigungen ein, die diese Anwendung benötigt, z. B. User.Read, User.ReadBasic.All oder Mail.Read.

  5. Wählen Sie Speichern.

Testen der Verbindung

  1. Wählen Sie den Verbindungseintrag aus, um die von Ihnen erstellte Verbindung zu öffnen.

  2. Wählen Sie oben im Bereich Verbindungseinstellung für DienstanbieterVerbindung testen aus.

  3. Zum ersten Mal wird ein neues Browserfenster geöffnet, in dem Sie aufgefordert werden, ein Konto auszuwählen. Wählen Sie das Konto, das Sie verwenden möchten.

  4. Erlauben Sie als Nächstes dem Identitätsanbieter, Ihre Daten (Anmeldeinformationen) zu verwenden. Die folgende Abbildung dient lediglich als Beispiel:

    Der Screenshot zeigt, wie Sie die Teams-Bot-Authentifizierungs-Verbindungszeichenfolge adv1 hinzufügen.

  5. Wählen Sie Annehmen aus.

  6. Eine Seite Verbindung zu <your-connection-name> testen Erfolgreich wird geöffnet. Aktualisieren Sie die Seite, wenn ein Fehler angezeigt wird. Die folgende Abbildung dient lediglich als Beispiel:

    Der Screenshot zeigt, wie Sie die Teams-App-Authentifizierungs-Verbindungszeichenfolge adv1 hinzufügen.

Der Botcode verwendet den Verbindungsnamen, um Benutzerauthentifizierungstoken abzurufen.

Vorbereiten des Bot-Beispielcodes

Nachdem die vorläufigen Einstellungen abgeschlossen sind, konzentrieren wir uns auf die Erstellung des Bots, der in diesem Artikel verwendet werden soll.

  1. Klonen Sie cs-auth-sample.

  2. Öffnen Sie Visual Studio.

  3. Wählen Sie in der Symbolleiste Datei > Projekt/Projektmappe öffnen > aus, und öffnen Sie das Bot-Projekt.

  4. Führen Sie in C# appsettings.json wie folgt aus:

    • Legen Sie ConnectionName auf den Namen der Identitätsanbieterverbindung fest, die Sie der Botregistrierung hinzugefügt haben. Der in diesem Beispiel verwendete Name ist BotTeamsAuthADv1.
    • Legen Sie ClientId auf die Bot-App-ID fest, die Sie zum Zeitpunkt der Botregistrierung gespeichert haben.
    • Auf den geheimen Clientschlüssel festlegenClientSecret, den Sie zum Zeitpunkt der Bot-Registrierung gespeichert haben.

    Abhängig von den Zeichen in Ihrem Bot-Geheimnis müssen Sie möglicherweise XML-Escape-für das Kennwort verwenden. Beispielsweise müssen alle kaufmännischen Und-Zeichen (&) als &amp;codiert werden.

    {
     "Teams": {
       "ClientId": "",
       "ClientSecret": "",
       "TenantId": "",
       "ConnectionName": ""
     }
    }
    
  5. Wechseln Sie im Projektmappen-Explorer zu dem appPackage Ordner, öffnen manifest.json und legen idbotId Sie die Bot-App-ID bereit, die Sie zum Zeitpunkt der Bot-Registrierung gespeichert haben. Weitere Informationen finden Sie unter App-Manifest.

Bereitstellen des Bots in Azure

Um den Bot bereitzustellen, folgen Sie den Schritten im Abschnitt Bereitstellen Ihres Bots in Azure.

Alternativ können Sie in Visual Studio die folgenden Schritte ausführen:

  1. Klicken Sie in Visual Studio Projektmappen-Explorer auf den Projektnamen, und halten Sie ihn gedrückt (oder klicken Sie mit der rechten Maustaste darauf).

  2. Wählen Sie im Dropdownmenü die Option Veröffentlichen aus.

  3. Wählen Sie im angezeigten Fenster den Link Neu aus.

  4. Wählen Sie im Dialogfeld "App Service" und "Neu erstellen" aus.

  5. Wählen Sie Veröffentlichen aus.

  6. Geben Sie im nächsten Dialogfeld die erforderlichen Informationen ein.

    Der Screenshot zeigt, wie die erforderlichen Informationen für den Auth App Service eingegeben werden.

  7. Wählen Sie Erstellen aus.

  8. Wenn die Bereitstellung erfolgreich abgeschlossen wurde, sollte sie in Visual Studio angezeigt werden. In Ihrem Standardbrowser wird eine Seite mit der Meldung Ihr Bot ist bereit! geöffnet. Die URL sieht in etwa so aus.https://botteamsauth.azurewebsites.net/ Speichern Sie sie in einer Datei.

  9. Wechseln Sie in Ihrem Browser zum Azure-Portal.

  10. Überprüfen Sie Ihre Ressourcengruppe, der Bot wird zusammen mit den anderen Ressourcen aufgeführt. Die folgende Abbildung dient lediglich als Beispiel:

    Screenshot zeigt, wie Sie die Ressourcengruppe und den Bot überprüfen.

  11. Wählen Sie in der Ressourcengruppe den Namen der Botregistrierung (Link) aus.

  12. Wählen Sie im linken Bereich Einstellungen aus.

  13. Geben Sie im Feld Nachrichtenendpunkt die soeben erhaltene URL ein, gefolgt von api/messages. Beispiel: https://botteamsauth.azurewebsites.net/api/messages.

    Hinweis

    Für einen Bot ist nur ein Messaging-Endpunkt zulässig.

  14. Wählen Sie oben links die Schaltfläche Speichern aus.

Lokal testen mit Microsoft 365-Agents-Playground

Verwenden Sie zum lokalen Testen Ihres Bots den Microsoft 365 Agents Playground, der sowohl Agents als auch Bots unterstützt.
Setup- und Testanweisungen finden Sie unter Lokales Testen des Agents mit dem Microsoft 365 Agents Playground.

Testen des bereitgestellten Bots

  1. Wechseln Sie in Ihrem Browser zum Azure-Portal.

  2. Suchen Sie Ihre Ressourcengruppe.

  3. Wählen Sie den Ressourcenlink aus. Die Ressourcenseite wird angezeigt.

  4. Wählen Sie auf der Ressourcenseite Testen im Webchat aus. Der Bot startet und zeigt die vordefinierten Begrüßungen an.

  5. Geben Sie etwas in das Chatfeld ein.

  6. Wählen Sie das Feld Anmelden aus.

  7. Es erscheint ein Popupdialogfeld zum Bestätigen der geöffneten URL , um den Benutzer des Bots (Sie) zu authentifizieren.

  8. Wählen Sie Bestätigen aus.

  9. Wenn Sie dazu aufgefordert werden, wählen Sie das Konto des entsprechenden Benutzers aus. Die folgende Abbildung zeigt die Bot-Benutzeroberfläche nach der Anmeldung:

    Screenshot: Beispiel für die Teams-Bot-Benutzeroberfläche nach der Anmeldung.

  10. Wählen Sie die Schaltfläche Ja aus, um Ihr Authentifizierungstoken anzuzeigen. Die folgende Abbildung dient lediglich als Beispiel:

    Der Screenshot zeigt, wie Sie die Schaltfläche

  11. Geben Sie zum Abmelden in das Eingabechatfeld ein.

    Der Screenshot zeigt, wie Sie sich vom Bot abmelden.

Hinweis

Wenn Sie Probleme beim Anmelden haben, versuchen Sie, die Verbindung erneut zu testen, wie in den vorherigen Schritten beschrieben. Dadurch kann das Authentifizierungstoken neu erstellt werden. Beim Webchat-Client in Azure müssen Sie sich möglicherweise mehrmals anmelden, bevor die Authentifizierung ordnungsgemäß eingerichtet wurde.

Installieren und Testen des Bots in Teams

  1. Stellen Sie in Ihrem Botprojekt sicher, dass der Ordner appPackage die manifest.json zusammen mit einer outline.png und color.png-Dateien enthält.

  2. Wechseln Sie im Projektmappen-Explorer zu dem appPackage Ordner. Bearbeiten Sie manifest.json, indem Sie die folgenden Werte zuweisen:

    1. Stellen Sie sicher, dass die Bot-App-ID, die Sie zum Zeitpunkt der Botregistrierung erhalten haben, id und botIdzugewiesen ist.
    2. Weisen Sie diesen Wert zu: validDomains: [ "token.botframework.com" ].
  3. Wählen Sie die Dateien manifest.json, outline.png und color.png aus und zippen Sie sie.

  4. Öffnen Sie Microsoft Teams.

  5. Wählen Sie im linken Bereich unten das Apps-Symbol aus.

  6. Wählen Sie im rechten Bereich unten Benutzerdefinierte App hochladen aus.

  7. Wechseln Sie zum Ordner, appPackage und laden Sie das gezippte Manifest hoch.

  8. Wählen Sie "Hinzufügen" aus, um die App in Teams zu installieren.

    Screenshot der Installation der TeamsBotAuth-App mit hervorgehobener Option

  9. Suchen und wählen Sie den gewünschten Bereich aus, oder wählen Sie einen Kanal oder Chat aus der Liste aus, und navigieren Sie durch das Dialogfeld, um Los auszuwählen.

    Screenshot des Dialogfelds zur Auswahl des Anwendungsbereichs TeamsBotAuth, um den erforderlichen Bereich auszuwählen.

    Hinweis

    OAuth wird im Gruppenchat- oder Kanalbereich nicht direkt unterstützt. Wenn Sie die Authentifizierung aktivieren und Benutzer Ihren Bot in Gruppenchats oder -kanälen installieren, müssen sie sich in ihrem persönlichen Bereich authentifizieren, bevor sie den Bot im Gruppenchat oder Kanal verwenden können.

  10. Wählen Sie die drei Punkte (●●●) im linken Bereich aus. Wählen Sie dann das Symbol "Entwicklerportal" aus.

  11. Wählen Sie die Registerkarte Manifest-Editor aus. Das Symbol für den hochgeladenen Bot sollte angezeigt werden.

  12. Außerdem sollte der Bot in der Chatliste als Kontakt aufgeführt sein, über den Sie Nachrichten mit dem Bot austauschen können.

Testen des Bots lokal in Teams

Teams ist ein vollständig cloudbasiertes Produkt. Alle Dienste, auf die zugegriffen wird, müssen über HTTPS-Endpunkte aus der Cloud verfügbar sein. Damit der Bot (unser Beispiel) in Teams funktioniert, müssen Sie daher entweder den Code in der Cloud Ihrer Wahl veröffentlichen oder eine lokal ausgeführte Instanz extern über ein Tunneling-Tool zugänglich machen. Wir empfehlen ngrok, das eine extern adressierbare URL für einen Port erstellt, den Sie lokal auf Ihrem Computer öffnen. Führen Sie die folgenden Schritte aus, um ngrok für die lokale Ausführung Ihrer Teams-App einzurichten:

  1. Wechseln Sie in einem Terminalfenster zu dem Verzeichnis, in dem Sie ngrok.exe installiert haben. Es wird empfohlen, den Pfad Umgebungsvariable so festzulegen, dass er darauf zeigt.

  2. Führen Sie z. B ngrok http 3978 --host-header=localhost:3978 aus. Ersetzen Sie die Portnummer nach Bedarf. Es startet ngrok, um den von Ihnen angegebenen Port zu überwachen. Im Gegenzug erhalten Sie eine extern adressierbare URL, die so lange gültig ist, wie ngrok ausgeführt wird. Die folgende Abbildung dient lediglich als Beispiel:

    Screenshot zeigt die Teams-Bot-App-Authentifizierungs-Verbindungszeichenfolge adv1

  3. Kopieren Sie die Weiterleitungs-HTTPS-Adresse, die der folgenden ähnelt: https://dea822bf.ngrok.io/.

  4. Anfügen /api/messages , um zu erhalten https://dea822bf.ngrok.io/api/messages, dies ist der Nachrichtenendpunkt für den Bot, der lokal auf Ihrem Computer ausgeführt wird und über das Web in einem Chat in Teams erreichbar ist.

  5. Ein letzter Schritt besteht darin, den Nachrichtenendpunkt des bereitgestellten Bots zu aktualisieren. Im Beispiel haben wir den Bot in Azure bereitgestellt. Führen wir also die folgenden Schritte aus:

    1. Wechseln Sie in Ihrem Browser zum Azure-Portal.
    2. Wählen Sie Ihre Bot-Registrierung aus.
    3. Wählen Sie im linken Bereich Einstellungen aus.
    4. Geben Sie im rechten Bereich im Feld Nachrichtenendpunkt die ngrok-URL ein, in unserem Beispiel, https://dea822bf.ngrok.io/api/messages.
  6. Starten Sie Ihren Bot lokal, z. B. im Debugmodus von Visual Studio.

  7. Testen Sie den Bot, während er lokal ausgeführt wird, mithilfe der Option "Test in Webchat" des Azure-Portals.

  8. Im Terminalfenster, in dem ngrok ausgeführt wird, wird HTTP-Datenverkehr zwischen dem Bot und dem Webchatclient angezeigt. Wenn Sie eine detailliertere Ansicht wünschen, geben Sie in einem Browserfenster http://127.0.0.1:4040 ein, die Sie aus dem vorherigen Terminalfenster abgerufen haben. Die folgende Abbildung dient lediglich als Beispiel:

    Screenshot zeigt Auth-Bot-Teams Ngrok-Tests.

Hinweis

Wenn Sie ngrok beenden und neu starten, ändert sich die URL. Um ngrok in Ihrem Projekt zu verwenden, und abhängig von den verwendeten Funktionen müssen Sie alle URL-Verweise aktualisieren.

Weitere Informationen

appPackage/manifest.json

Dieses Manifest enthält Informationen, die Teams benötigen, um eine Verbindung mit dem Bot herzustellen:

{ 

  "$schema": "https://developer.microsoft.com/json-schemas/teams/v1.22/MicrosoftTeams.schema.json", 

  "manifestVersion": "1.22", 

  "version": "1.0.0", 

  "id": "${{TEAMS_APP_ID}}", 

  "developer": { 

    "name": "Teams App, Inc.", 

    "websiteUrl": "https://example.azurewebsites.net", 

    "privacyUrl": "https://example.azurewebsites.net/privacy", 

    "termsOfUseUrl": "https://example.azurewebsites.net/termsofuse" 

  }, 

  "icons": { 

    "color": "color.png", 

    "outline": "outline.png" 

  }, 

  "name": { 

    "short": "Auth Bot", 

    "full": "Auth Bot" 

  }, 

  "description": { 

    "short": "Teams bot with SSO authentication and Graph API integration.", 

    "full": "This bot demonstrates SSO authentication in Microsoft Teams using Azure AD, and uses Microsoft Graph API to retrieve the user profile." 

  }, 

  "accentColor": "#FFFFFF", 

  "bots": [ 

    { 

      "botId": "${{BOT_ID}}", 

      "scopes": [ 

        "personal", 

        "groupChat", 

        "team" 

      ], 

      "supportsFiles": false, 

      "isNotificationOnly": false 

    } 

  ], 

  "permissions": [ 

    "identity", 

    "messageTeamMembers" 

  ], 

  "validDomains": [ 

    "token.botframework.com", 

    "${{BOT_DOMAIN}}" 

  ], 

  "webApplicationInfo": { 

    "id": "${{BOT_ID}}", 

    "resource": "api://botid-${{BOT_ID}}" 

  } 

} 

Bei der Authentifizierung verhält sich Teams anders als andere Kanäle.

Codebeispiel

Dieses Beispiel zeigt, wie die Single Sign-On (SSO)-Authentifizierung für Microsoft Teams-Bots mithilfe von Azure Active Directory implementiert wird.

Beispielname Beschreibung .NET Node.js Python
Schnellstart zur Botauthentifizierung Dieses Beispiel zeigt, wie die Single Sign-On (SSO)-Authentifizierung für Microsoft Teams-Bots mithilfe von Azure Active Directory implementiert wird. View View Anzeigen

Siehe auch