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.
Action.Http-Aktionen in Nachrichten mit Aktionen enthalten ein von Azure AD ausgestelltes Token im Header, das Authorization
Informationen zur Identität des Benutzers bereitstellt. Diese Informationen reichen jedoch möglicherweise nicht aus, um den Benutzer bei Ihrem Dienst zu authentifizieren. Mithilfe der Identitätsverknüpfung können Sie dem Outlook-Client signalisieren, dass die Benutzeroberfläche angezeigt wird, damit sich der Benutzer bei Ihrem Dienst authentifizieren kann. Nach der Authentifizierung des Benutzers können Sie seine Azure AD-Identität Ihrer eigenen zuordnen, um eine nahtlose Authentifizierung für zukünftige Anforderungen zu ermöglichen.
Verwenden von Identitätsverknüpfungen
Ihr Dienst kann die Authentifizierung an jedem Aktionsendpunkt Action.Http
auslösen, indem er eine 401 Unauthorized
Antwort mit einem ACTION-AUTHENTICATE
Header zurückgibt. Der Header enthält die Authentifizierungs-URL für Ihren Dienst.
Nachdem die Authentifizierung abgeschlossen ist, leiten Sie die Anforderung an die URL um, die Identity-Linking-Redirect-Url
im header angegeben ist, der in der ursprünglichen Anforderung gesendet wurde.
Identitätsverknüpfungsfluss
Erste Anforderung an Ihren Aktionsendpunkt
Microsoft-Server senden eine anfängliche POST-Anforderung an Ihren Aktionsendpunkt.
POST https://api.contoso.com/myEndpoint
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6...
Identity-Linking-Redirect-Url: https://outlook.office.com/connectors/adelev@contoso.com/723a1c49-f8dc-4063-843e-d4c2b7180b8b/postAuthenticate
Content-Type: application/json
{
// action body
}
Ihr Dienst überprüft das JWT-Token und extrahiert die Identität des Benutzers aus dem sub
Anspruch.
{
...
"sub": "AdeleV@contoso.com",
"aud": "https://api.contoso.com"
}
Ihr Dienst findet keinen Benutzer mit einer verknüpften Identity-Linking-Redirect-Url
Identität vonAdeleV@contoso.com
, sodass er den Headerwert beibehalten und eine 401
Antwort zurückgibt.
Hinweis
Die genaue Methode, die Sie zum Beibehalten der Umleitungs-URL aus dem Identity-Linking-Redirect-Url
Header verwenden, hängt von Ihrer Implementierung ab. Wenn Ihr Dienst OAuth verwendet, können Sie es z. B. im state
-Parameter speichern.
HTTP/1.1 401 Unauthorized
ACTION-AUTHENTICATE: https://identity.contoso.com/authenticate?state=https://outlook.office.com/connectors/adelev@contoso.com/723a1c49-f8dc-4063-843e-d4c2b7180b8b/postAuthenticate
Authentifizierungsanforderung
Nachdem Outlook den 401
mit der ACTION-AUTHENTICATE
Kopfzeile erhalten hat, wird ein Aufgabenbereich geöffnet und in der Kopfzeile zur URL navigiert.
GET https://identity.contoso.com/authenticate?state=https://outlook.office.com/connectors/adelev@contoso.com/723a1c49-f8dc-4063-843e-d4c2b7180b8b/postAuthenticate
Ihr Dienst authentifiziert den Benutzer und ordnet die vom Azure AD ausgestellten Token bereitgestellte Identität dem Benutzer in Ihrem System zu. Nach Abschluss des Vorgangs leitet der Dienst die Anforderung vom Header an die Identity-Linking-Redirect-Url
URL um.
HTTP/1.1 302 Found
Location: https://outlook.office.com/connectors/adelev@contoso.com/723a1c49-f8dc-4063-843e-d4c2b7180b8b/postAuthenticate
Wiederholungsaktion
Nachdem Outlook die Umleitung von Ihrem Authentifizierungsserver zurück erhalten hat, wird die ursprüngliche Anforderung sofort wiederholt. Da Sie die Azure AD-Identität ihrer eigenen Zugeordnet haben, verarbeitet Ihr Endpunkt die Anforderung dieses Mal normal.
Beispiel
Sie können die folgenden Beispiel-Karte im Designer Actionable Message verwenden, um dies in Aktion zu sehen. Der Endpunkt in diesem Karte fordert Sie auf, sich beim Microsoft Identity Platform anzumelden, und (mit Ihrer Zustimmung) sendet eine Graph-Anforderung, um Ihr Profil abzurufen. Der Code für diesen Endpunkt ist als Beispiel auf GitHub verfügbar.
{
"hideOriginalBody": true,
"type": "AdaptiveCard",
"padding": "none",
"body": [
{
"type": "TextBlock",
"text": "Identity Linking Demo"
},
{
"type": "ActionSet",
"actions": [
{
"type": "Action.Http",
"method": "POST",
"url": "https://amidentitylinking.azurewebsites.net/action",
"body": "{}",
"title": "Get User Details",
"isPrimary": true
}
]
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.0"
}
Roadmap für den Clientsupport
Die Identitätsverknüpfung ist für eine begrenzte Anzahl von Clients verfügbar, wobei die Unterstützung für das Feature in Zukunft hinzugefügt wird. Die folgende Tabelle enthält die ungefähren Zeitleiste.
Client | Verfügbarkeit |
---|---|
Office 365 ProPlus | Verfügbar |
Outlook im Web für Office 365 | In Kürze verfügbar |
Outlook unter iOS | In Kürze verfügbar |
Outlook unter Android | In Kürze verfügbar |
Outlook für Mac | Noch nicht festgelegt |