Authentifizieren eines Benutzers mit einem Identitätstoken für Exchange
Wichtig
Legacy-Exchange-Token sind veraltet. Ab Februar 2025 werden wir ältere Exchange-Benutzeridentitäts- und Rückruftoken für Exchange Online Mandanten deaktivieren. Die Zeitleiste und Details finden Sie auf unserer Faq-Seite. Dies ist Teil der Secure Future Initiative von Microsoft, die Organisationen die Tools zur Verfügung stellt, die sie benötigen, um auf die aktuelle Bedrohungslandschaft zu reagieren. Exchange-Benutzeridentitätstoken funktionieren weiterhin für lokale Exchange-Instanzen. Die Authentifizierung geschachtelter Apps ist der empfohlene Ansatz für token in Zukunft.
Mithilfe von Exchange-Benutzeridentitätstoken kann Ihr Add-In einen Add-In-Benutzer eindeutig identifizieren. Durch Einrichten der Identität des Benutzers können Sie ein Authentifizierungsschema für einmaliges Anmelden (Single Sign-On, SSO) für Ihren Back-End-Dienst implementieren, mit dem Kunden, die Outlook-Add-Ins verwenden, eine Verbindung mit Ihrem Dienst herstellen können, ohne sich anzumelden. Weitere Informationen dazu, wann Sie diesen Tokentyp verwenden, finden Sie unter Exchange-Benutzeridentitätstoken. In diesem Artikel sehen wir uns eine vereinfachte Methode der Verwendung des Exchange-Benutzertokens zur Authentifizierung eines Benutzers bei Ihrem Back-End an.
Wichtig
Dies ist nur ein einfaches Beispiel für eine SSO-Implementierung. Wie immer, wenn es um Identität und Authentifizierung geht, müssen Sie sicherstellen, dass Ihr Code die Sicherheitsanforderungen Ihrer Organisation erfüllt.
Senden der Token-ID in jeder Anforderung
Der erste Schritt besteht darin, dass das Add-In das Exchange-Benutzeridentitätstoken vom Server abruft, indem GetUserIdentityTokenAsync aufgerufen wird. Das Add-In sendet dieses Token dann mit jeder Anforderung, die an Ihr Back-End gestellt wird. Dies kann in einer Kopfzeile oder als Teil des Anforderungstexts der Fall sein.
Überprüfen des Tokens
Das Back-End MUSS das Token überprüfen, bevor es dieses akzeptiert. Dies ist ein wichtiger Schritt, um sicherzustellen, dass das Token vom Exchange-Server des Benutzers ausgegeben wurde. Informationen zur Überprüfung von Exchange-Benutzeridentitätstoken finden Sie unter Überprüfen eines Exchange-Identitätstokens.
Nach dem Überprüfen und Decodieren sieht die Nutzlast des Tokens in etwa wie folgt aus:
{
"aud" : "https://mailhost.contoso.com/IdentityTest.html",
"iss" : "00000002-0000-0ff1-ce00-000000000000@mailhost.contoso.com",
"nbf" : "1505749527",
"exp" : "1505778327",
"appctxsender":"00000002-0000-0ff1-ce00-000000000000@mailhost.context.com",
"isbrowserhostedapp":"true",
"appctx" : {
"msexchuid" : "53e925fa-76ba-45e1-be0f-4ef08b59d389",
"version" : "ExIdTok.V1",
"amurl" : "https://mailhost.contoso.com:443/autodiscover/metadata/json/1"
}
}
Zuordnen des Tokens zu einem Benutzer in Ihrem Back-End
Der Back-End-Dienst kann eine eindeutige Benutzer-ID aus dem Token berechnen und diese einem Benutzer in Ihrem internen Benutzersystem zuordnen. Wenn Sie beispielsweise eine Datenbank zum Speichern von Benutzern verwenden, können Sie diese eindeutige ID dem Datensatz des Benutzers in Ihrer Datenbank hinzufügen.
Generieren einer eindeutigen ID
Verwenden Sie eine Kombination der msexchuid
Eigenschaften und amurl
. Sie können zum Beispiel die beiden Werte verketten und eine base64-codierte Zeichenfolge generieren. Dieser Wert kann jedes Mal zuverlässig aus dem Token generiert werden, Sie können also ein Exchange-Benutzeridentitätstoken wieder dem Benutzer in Ihrem System zuordnen.
Überprüfen des Benutzers
Nachdem Sie die eindeutige ID generiert haben, besteht der nächste Schritt darin, anhand dieser zugewiesenen ID in Ihrem System nach einem Benutzer zu suchen.
Wenn der Benutzer gefunden wird, behandelt das Back-End die Anforderung als authentifiziert, und die Anforderung kann fortgesetzt werden.
Wenn der Benutzer nicht gefunden wird, gibt das Back-End einen Fehler zurück, der angibt, dass der Benutzer sich anmelden muss. Das Add-In fordert den Benutzer dann auf, sich beim Back-End mithilfe der vorhandenen Authentifizierungsmethode anzumelden. Nachdem der Benutzer authentifiziert wurde, wird das Exchange-Benutzeridentitätstoken mit den Benutzerauthentifizierungsdetails übermittelt. Das Back-End kann dann den Datensatz des Benutzers in Ihrem System mit der eindeutigen ID aktualisieren.
Office Add-ins