Freigeben über


Verknüpfen der Azure Active Directory-Identität mit Ihrem eigenen Identitätsanbieter (Vorschau)

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

Ressourcen