SSO für Registerkarten und Nachrichtenerweiterung
Das einmalige Anmelden von Microsoft Entra (Microsoft Entra SSO) hilft bei der Authentifizierung von Benutzern in Teams.
Wichtige Aspekte des einmaligen Anmeldens für Microsoft Entra:
- Ermöglicht es dem Benutzer, sich nach der ersten Anmeldung automatisch anzumelden.
- Ermöglicht dem Benutzer, sich bei anderen Geräten anzumelden, ohne die Anmeldeinformationen erneut einzugeben.
- Ruft das Token für den angemeldeten Benutzer ab.
Diese Schritt-für-Schritt-Anleitung hilft Ihnen beim Erstellen von Registerkarten und Nachrichtenerweiterungen, die die Microsoft Entra SSO-Authentifizierung ermöglichen. Die folgende Ausgabe wird angezeigt:
Voraussetzungen
Stellen Sie sicher, dass Sie die folgenden Tools installieren und Ihre Entwicklungsumgebung einrichten:
Installieren | Zum Benutzen... | |
---|---|---|
Microsoft Teams | Microsoft Teams für die Zusammenarbeit mit allen Personen, mit denen Sie über Apps für Chats, Besprechungen und Anrufe zusammenarbeiten, alles an einem Ort. | |
Microsoft 365-Entwicklerkonto | Zugriff auf das Teams-Konto mit den entsprechenden Berechtigungen zum Installieren einer App. | |
.NET Core SDK | Angepasste Bindungen für lokales Debuggen und Bereitstellungen von Azure Functions-Apps. Wenn Sie die neueste Version nicht installiert haben, installieren Sie die portable Version. | |
Visual Studio 2022 | Sie können die Unternehmensversion in Visual Studio 2022 und die Workloads ASP.NET und Webentwicklung installieren. Verwenden Sie die neueste Version. | |
Entwicklungstunnel | Teams-App-Features (Konversationsbots, Nachrichtenerweiterungen und eingehende Webhooks) erfordern eingehende Verbindungen. Ein Tunnel verbindet Ihr Entwicklungssystem mit Teams. Dev Tunnel ist ein leistungsstarkes Tool, um Ihren Localhost sicher für das Internet zu öffnen und zu steuern, wer Zugriff hat. Dev Tunnel ist in Visual Studio 2022 Version 17.7.0 oder höher verfügbar. Oder Sie können ngrok auch als Tunnel verwenden, um Ihr Entwicklungssystem mit Teams zu verbinden. Dies ist nicht für Apps erforderlich, die nur Registerkarten enthalten. Dieses Paket wird im Projektverzeichnis installiert (mit npm devDependencies ). |
Hinweis
Nachdem Sie ngrok heruntergeladen haben, registrieren Sie sich, und installieren Sie authtoken.
Einrichten einer lokalen Umgebung
Öffnen Sie Microsoft-Teams-Samples.
Wählen Sie Code aus.
Wählen Sie im Dropdownmenü Mit GitHub Desktop öffnen aus.
Wählen Sie Klonen aus.
Registrieren der Microsoft Entra-App
Die folgenden Schritte helfen Ihnen beim Erstellen und Registrieren Ihres Bots im Azure-Portal:
- Erstellen und registrieren Sie Ihre Azure-App.
- Erstellen Sie einen geheimen Clientschlüssel, um die SSO-Authentifizierung des Bots zu aktivieren.
- Fügen Sie den Teams-Kanal hinzu, um den Bot bereitzustellen.
- Erstellen Sie einen Tunnel zu den Endpunkten Ihres Webservers mithilfe von Dev Tunnel (empfohlen) oder ngrok.
- Fügen Sie dem von Ihnen erstellten Entwicklungstunnel einen Messagingendpunkt hinzu.
Hinzufügen der App-Registrierung
Navigieren Sie zum Azure-Portal.
Wählen Sie App-Registrierungen aus.
Wählen Sie + Neue Registrierung aus.
Geben Sie den Namen Ihrer App ein.
Wählen Sie Konten in einem beliebigen Organisationsverzeichnis (Beliebiger Microsoft Entra ID-Mandant – Mehrinstanzenfähig) aus.
Wählen Sie Registrieren aus.
Ihre App ist in der Microsoft Entra-ID registriert. Die App-Übersichtsseite wird angezeigt.
Hinweis
Speichern Sie die App-ID unter Anwendungs-ID (Client) und Verzeichnis-ID (Mandant) zur weiteren Verwendung.
Erstellen eines Tunnels
Öffnen Sie Visual Studio.
Wählen Sie Neues Projekt erstellen aus.
Geben Sie im Suchfeld ASP.NET ein. Wählen Sie in den Suchergebnissen ASP.NET Core Web App aus.
Wählen Sie Weiter aus.
Geben Sie Projektname ein , und wählen Sie Weiter aus.
Wählen Sie Erstellen aus.
Ein Übersichtsfenster wird angezeigt.
Wählen Sie in der Dropdownliste Debug die Option Dev Tunnels (kein aktiver Tunnel)>Tunnel erstellen... aus.
Ein Popupfenster wird geöffnet.
Aktualisieren Sie die folgenden Details im Popupfenster:
- Konto: Geben Sie ein Microsoft- oder GitHub-Konto ein.
- Name: Geben Sie einen Namen für Ihren Tunnel ein.
- Tunneltyp: Wählen Sie in der Dropdownliste die Option Temporär aus.
- Zugriff: Wählen Sie in der Dropdownliste Öffentlich aus.
Wählen Sie OK aus.
Ein Popupfenster wird angezeigt, in dem angezeigt wird, dass der Entwicklungstunnel erfolgreich erstellt wurde.
Wählen Sie OK aus.
Sie finden den tunnel, den Sie erstellt haben, in der Debug-Dropdownliste wie folgt:
Wählen Sie F5 aus, um die Anwendung im Debugmodus auszuführen.
Wenn ein Dialogfeld Sicherheitswarnung angezeigt wird, wählen Sie Ja aus.
Ein Popupfenster wird geöffnet.
Wählen Sie Weiter.
Die Dev Tunnel-Startseite wird in einem neuen Browserfenster geöffnet, und der Entwicklungstunnel ist jetzt aktiv.
Wechseln Sie zu Visual Studio, und wählen Sie Ausgabe anzeigen >aus.
Wählen Sie im Dropdownmenü Ausgabekonsoledie Option Dev Tunnels aus.
In der Ausgabekonsole wird die Dev Tunnel-URL angezeigt.
Hinzufügen einer Webauthentifizierung
Wählen Sie im linken Bereich unter Verwalten die Option Authentifizierung aus.
Wählen SiePlattformweb>hinzufügenaus.
Geben Sie den Umleitungs-URI für Ihre App ein, indem Sie an den vollqualifizierten Domänennamen anfügen
auth-end
. Zum Beispielhttps://your-devtunnel-domain/auth-end
oderhttps://your-ngrok-domain/auth-end
.Aktivieren Sie unter Implizite Genehmigung und Hybridflows die Kontrollkästchen Zugriffstoken und ID-Token .
Wählen Sie Konfigurieren aus.
Wählen Sie unter Web die Option URI hinzufügen aus.
https://token.botframework.com/.auth/web/redirect
eingeben.Klicken Sie auf Speichern.
Erstellen eines geheimen Clientschlüssels
Wählen Sie im linken Bereich unter Verwalten die Option Zertifikate & Geheimnisse aus.
Wählen Sie unter Geheime Clientschlüsseldie Option + Neuer geheimer Clientschlüssel aus.
Das Fenster Geheimen Clientschlüssel hinzufügen wird angezeigt.
Geben Sie Beschreibung ein.
Klicken Sie auf Hinzufügen.
Wählen Sie unter Wertdie Option In Zwischenablage kopieren aus, um den Wert des geheimen Clientschlüssels zur weiteren Verwendung zu speichern.
API-Berechtigungen hinzufügen
Wählen Sie im linken Bereich API-Berechtigungen aus.
Wählen Sie + Berechtigung hinzufügen aus.
Wählen Sie Microsoft Graph aus.
Wählen Sie Delegierte Berechtigungen aus.
Wählen Sie User>User.Read aus.
Wählen Sie Berechtigungen hinzufügen aus.
Hinweis
- Wenn einer App keine Zustimmung des IT-Administrators erteilt wird, müssen Benutzer bei der ersten Verwendung einer App ihre Zustimmung erteilen.
- Benutzer müssen den API-Berechtigungen nur zustimmen, wenn die Microsoft Entra-App in einem anderen Mandanten registriert ist.
Hinzufügen des Anwendungs-ID-URI
Wählen Sie im linken Bereich unter Verwalten die Option API verfügbar machen aus.
Wählen Sie neben Anwendungs-ID-URIdie Option Hinzufügen aus.
Aktualisieren Sie den Anwendungs-ID-URI im
api://your-devtunnel-domain/botid-{AppID}
Format oderapi://your-ngrok-domain/botid-{AppID}
, und wählen Sie Speichern aus.Die folgende Abbildung zeigt den Domänennamen:
Hinzufügen eines Bereichs
Wählen Sie im linken Bereich unter Verwalten die Option API verfügbar machen aus.
Wählen Sie + Bereich hinzufügen aus.
Geben Sie access_as_user als Bereichsnamen ein.
Wählen Sie unter Wer kann zustimmen?die Option Administratoren und Benutzer aus.
Aktualisieren Sie die Werte für die restlichen Felder wie folgt:
Geben Sie Teams kann als Anzeigename der Administratoreinwilligungauf das Profil des Benutzers zugreifen ein.
Geben Sie Erlaubt Teams das Aufrufen der Web-APIs der App als aktuellen Benutzer als Beschreibung der Administratoreinwilligung ein.
Geben Sie Teams kann auf das Benutzerprofil zugreifen und Anforderungen im Namen des Benutzers als Anzeigename für die Benutzereinwilligung stellen ein.
Geben Sie Teams aktivieren ein, um die APIs dieser App mit den gleichen Rechten wie der Benutzer als Beschreibung der Benutzereinwilligung aufzurufen.
Stellen Sie sicher, Zustand auf Aktiviert festgelegt ist.
Klicken Sie auf Bereich hinzufügen.
Die folgende Abbildung zeigt die Felder und die Werte:
Hinweis
Der Bereichsname muss mit dem Anwendungs-ID-URI übereinstimmen, der
/access_as_user
am Ende angefügt ist.
Hinzufügen einer Clientanwendung
Wählen Sie im linken Bereich unter Verwalten die Option API verfügbar machen aus.
Identifizieren Sie unter Autorisierte Clientanwendungen die Anwendungen, die Sie für die Webanwendung Ihrer App autorisieren möchten.
Wählen Sie + Clientanwendung hinzufügen aus.
Fügen Sie Teams mobile oder Desktop- und Teams-Webanwendung hinzu.
Für Teams Mobile oder Desktop: Geben Sie die Client-ID als ein
1fec8e78-bce4-4aaf-ab1b-5451cc387264
.Für Teams-Web: Geben Sie die Client-ID als ein
5e3ce6c0-2b1f-4285-8d4b-75ee78787346
.
Aktivieren Sie das Kontrollkästchen Autorisierte Bereiche .
Wählen Sie Anwendung hinzufügen aus.
Die folgende Abbildung zeigt die Client-ID:
Aktualisieren des Manifests
Wählen Sie im linken Bereich Manifest aus.
Legen Sie den Wert für auf
accessTokenAcceptedVersion
fest,2
und wählen Sie Speichern aus.
Erstellen Ihres Bots
Erstellen einer Azure-Botressource
Hinweis
Wenn Sie Ihren Bot bereits in Teams testen, melden Sie sich von dieser App und Von Teams ab. Melden Sie sich erneut an, um diese Änderung anzuzeigen.
Wechseln Sie zu Startseite.
Wählen Sie + Ressource erstellen aus.
Geben Sie in das Suchfeld Azure Bot ein.
Drücken Sie die EINGABETASTE.
Wählen Sie Azure Bot aus.
Wählen Sie Erstellen aus.
Geben Sie den Botnamen im Bothandle ein.
Wählen Sie Ihr Abonnement aus der Dropdownliste aus.
Wählen Sie Ihre Ressourcengruppe aus der Dropdownliste aus.
Wenn Sie nicht über eine vorhandene Ressourcengruppe verfügen, können Sie eine neue Ressourcengruppe erstellen. Führen Sie die folgenden Schritte aus, um eine neue Ressourcengruppe zu erstellen:
- Wählen Sie Neu erstellen aus.
- Geben Sie den Ressourcennamen ein, und wählen Sie OK aus.
- Wählen Sie in der Dropdownliste Neuer Ressourcengruppenstandort einen Standort aus.
Wählen Sie unter Preise die Option Plan ändern aus.
Wählen Sie FO Free>Select aus.
Wählen Sie unter Microsoft App-IDdie Option App-Typ als mehrinstanzenfähig aus.
Wählen Sie unter Erstellungstyp die Option Vorhandene App-Registrierung verwenden aus.
Geben Sie die App-ID ein.
Hinweis
Sie können nicht mehr als einen Bot mit derselben Microsoft-App-ID erstellen.
Wählen Sie Überprüfen + erstellen aus.
Nachdem die Überprüfung erfolgreich war, wählen Sie Erstellen aus.
Die Bereitstellung des Bots dauert einige Minuten.
Wählen Sie Zu Ressource wechseln aus.
Sie haben Ihren Azure-Bot erfolgreich erstellt.
Hinzufügen eines Teams-Kanals
Wählen Sie im linken Bereich Kanäle aus.
Wählen Sie unter Verfügbare Kanäledie Option Microsoft Teams aus.
Aktivieren Sie das Kontrollkästchen, um die Nutzungsbedingungen zu akzeptieren.
Wählen Sie Zustimmen aus.
Wählen Sie Anwenden aus.
So fügen Sie einen Messagingendpunkt hinzu
Verwenden Sie die Dev Tunnel-URL in der Ausgabekonsole als Messagingendpunkt.
Wählen Sie im linken Bereich unter Einstellungen die Option Konfiguration aus.
Aktualisieren Sie den Messagingendpunkt im Format
https://your-devtunnel-domain/api/messages
.Wählen Sie Anwenden aus.
Sie haben erfolgreich einen Bot im Azure Bot-Dienst eingerichtet.
Hinweis
Wenn der Application Insights-Instrumentierungsschlüssel einen Fehler anzeigt, aktualisieren Sie mit der App-ID.
Hinzufügen von OAuth-Verbindungseinstellungen
Wählen Sie im linken Bereich Konfiguration aus.
Wählen Sie OAuth-Verbindungseinstellungen hinzufügen aus.
Aktualisieren Sie unter Neue Verbindungseinstellung die folgenden Details:
- Name: Geben Sie einen Namen für Ihre neue Verbindungseinstellung ein. Sie können den Namen in den Einstellungen Ihres Botdienstcodes verwenden.
- Dienstanbieter: Wählen Sie in der Dropdownliste Azure Active Directory v2 aus.
- Client-ID: Aktualisieren Sie Ihre Microsoft-App-ID.
- Geheimer Clientschlüssel: Aktualisieren Sie den Wert der geheimen Clientschlüssel.
- Tokenaustausch-URL: Aktualisieren Sie den Anwendungs-ID-URI.
- Mandanten-ID: Geben Sie Allgemein ein.
- Bereiche: Geben Sie User.Read ein.
Klicken Sie auf Speichern.
Einrichten von App-Einstellungen
Wechseln Sie zur appsettings.json-Datei im geklonten Repository.
Öffnen Sie die appsettings.json-Datei in Visual Studio.
Aktualisieren Sie die folgenden Informationen:
- Ersetzen Sie durch
"MicrosoftAppId"
die Microsoft App-ID Ihres Bots. - Ersetzen Sie
"MicrosoftAppPassword"
durch den Wert geheimer Clientschlüssel Ihres Bots. - Ersetzen Sie durch
"SiteUrl"
Ihre ngrok-URL. - Ersetzen Sie durch
"ConnectionName"
den Namen der OAuth-Verbindungseinstellung. - Ersetzen Sie durch
"TenantId"
die Mandanten-ID des Mandanten, in dem die App verwendet wird. - Ersetzen Sie durch
"ClientId"
die Microsoft App-ID Ihres Bots. - Ersetzen Sie
"AppSecret"
durch den Wert geheimer Clientschlüssel Ihres Bots. - Ersetzen Sie
"ApplicationIdURI"
in Form vonapi://*******.ngrok.io/botid-{AppID}
.
- Ersetzen Sie durch
Einrichten der Manifestdatei
Wechseln Sie zur manifest.json-Datei im geklonten Repository.
Öffnen Sie die manifest.json-Datei in Visual Studio, und nehmen Sie die folgenden Änderungen vor:
Ersetzen Sie durch
DOMAIN-NAME
Ihre ngrok-URL.Ersetzen Sie durch
YOUR-MICROSOFT-APP-ID
die Microsoft App-ID Ihres Bots.Hinweis
Je nach Szenario
[YOUR-MICROSOFT-APP-ID]
können und[DOMAIN-NAME]
mehrere Male auftreten.Ersetzen Sie als
resource
api://*******.ngrok.io/botid-{AppID}
.
Erstellen und Ausführen des Diensts
Verwenden Sie Visual Studio oder die Befehlszeile, um den Dienst zu erstellen und auszuführen.
Öffnen Sie Visual Studio.
Wählen Sie Datei>Projekt>/Projektmappe öffnen... aus.
Wählen Sie im Ordner csharpdie Datei App SSO Sample.csproj aus.
Press F5 to run the project.
Wählen Sie Ja aus, wenn das folgende Dialogfenster angezeigt wird:
Eine Webseite mit der Meldung Ihr Bot ist bereit!
Hochladen der SSO-App in Teams
Navigieren Sie in Ihrem geklonten Repository zu csharp>App SSO Sample>TeamsAppManifest.
Erstellen Sie eine .zip-Datei mit den folgenden Dateien, die im Manifestordner vorhanden sind:
- manifest.json
- icon-outline.png
- icon-color.png
Wählen Sie im Teams-Client das Symbol Apps aus.
Wählen Sie Verwalten Ihrer Apps aus.
Wählen Sie App hochladen aus.
Suchen Sie nach der Option Hochladen einer benutzerdefinierten App. Wenn die Option angezeigt wird, ist der benutzerdefinierte App-Upload aktiviert.
Hinweis
Wenden Sie sich an Ihren Teams-Administrator, wenn Sie die Option zum Hochladen einer benutzerdefinierten App nicht finden.
Wählen Sie Öffnen aus, um die .zip Datei hochzuladen, die Sie im Manifestordner erstellt haben.
Klicken Sie auf Hinzufügen.
Senden Sie eine Nachricht an den Bot.
Der Bot führt SSO aus und zeigt die Profilkarte zusammen mit der Optionsaufforderung zum Anzeigen des Tokens an.
Wählen Sie Ja aus, um das Token anzuzeigen, oder Nein , um mit dem Chat fortzufahren.
Wenn SSO nicht ausgeführt wird, führt der Bot die Standardauthentifizierungsmethode für Ihre Registerkarte aus.
Gehen Sie wie folgt vor, um sich anzumelden, wenn SSO nicht ausgeführt wird:
Wählen Sie im linken Bereich der Teams die Option Weitere hinzugefügte Apps (●●●) aus.
Wählen Sie Ihre neue SSO-Anwendung aus.
Wählen Sie Anmelden aus.
Geben Sie Ihre Anmeldeinformationen im Anmeldefenster ein, und wählen Sie Weiter aus.
Wählen Sie Annehmen aus.
Wählen Sie unter dem Suchfeld Ihr Profil aus. Die folgende Ausgabe wird angezeigt:
Senden Sie
https://profile.botframework.com
an die Anwendung, um eine Profilkarte zu erhalten.
Abschließen der Herausforderung
Haben Sie eine ausgabe wie diese?
Herzlichen Glückwunsch!
Sie haben das Tutorial für die ersten Schritte mit SSO für die Registerkarten- und Nachrichtenerweiterungs-App abgeschlossen.
Liegt ein Problem mit diesem Abschnitt vor? Wenn ja, senden Sie uns Feedback, damit wir den Abschnitt verbessern können.
Platform Docs