Lier l’identité Azure Active Directory à votre propre fournisseur d’identité (préversion)

Importante

L’intégration de nouveaux fournisseurs de messages actionnables avec une étendue globale est temporairement suspendue jusqu’au 30 juin 2024 en raison de mises à niveau du service. Les fournisseurs globaux existants et l’intégration des fournisseurs d’étendue d’organisation et de test ne sont pas affectés. Pour plus d’informations, consultez Forum aux questions sur les messages actionnables.

Les actions Action.Http dans les messages actionnables incluent un jeton émis par Azure AD dans l’en-têteAuthorization, qui fournit des informations sur l’identité de l’utilisateur. Toutefois, ces informations peuvent ne pas être suffisantes pour authentifier l’utilisateur auprès de votre service. Avec la liaison d’identité, vous pouvez indiquer au client Outlook de présenter l’interface utilisateur pour permettre à l’utilisateur de s’authentifier auprès de votre service. Une fois que l’utilisateur s’est authentifié, vous pouvez associer son identité Azure AD à la vôtre pour permettre une authentification transparente pour les demandes futures.

Utilisation de la liaison d’identité

Votre service peut déclencher l’authentification sur n’importe quel Action.Http point de terminaison d’action en retournant une 401 Unauthorized réponse avec un ACTION-AUTHENTICATE en-tête. L’en-tête contient l’URL d’authentification de votre service.

Une fois l’authentification terminée, redirigez la demande vers l’URL spécifiée dans l’en-tête Identity-Linking-Redirect-Url envoyé dans la demande d’origine.

Flux de liaison d’identité

Demande initiale à votre point de terminaison d’action

Les serveurs Microsoft envoient une requête POST initiale à votre point de terminaison d’action.

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
}

Votre service valide le jeton JWT et extrait l’identité de l’utilisateur de la sub revendication.

{
  ...
  "sub": "AdeleV@contoso.com",
  "aud": "https://api.contoso.com"
}

Votre service ne trouve aucun utilisateur avec une identité liée de afin qu’il conserve Identity-Linking-Redirect-Url la valeur d’en-tête AdeleV@contoso.com et retourne une 401 réponse.

Remarque

La méthode exacte que vous utilisez pour conserver l’URL de redirection à partir de l’en-tête Identity-Linking-Redirect-Url dépend de votre implémentation. Si votre service utilise OAuth, vous pouvez l’enregistrer dans le state paramètre , par exemple.

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

Demande d’authentification

Une fois qu’Outlook reçoit le 401 avec l’en-tête ACTION-AUTHENTICATE , il ouvre un volet Office et accède à l’URL à partir de l’en-tête.

GET https://identity.contoso.com/authenticate?state=https://outlook.office.com/connectors/adelev@contoso.com/723a1c49-f8dc-4063-843e-d4c2b7180b8b/postAuthenticate

Votre service authentifie l’utilisateur et associe l’identité fournie par le jeton émis par Azure AD à l’utilisateur de votre système. Une fois l’opération terminée, le service redirige la requête vers l’URL à partir de l’en-tête Identity-Linking-Redirect-Url .

HTTP/1.1 302 Found
Location: https://outlook.office.com/connectors/adelev@contoso.com/723a1c49-f8dc-4063-843e-d4c2b7180b8b/postAuthenticate

Action de nouvelle tentative

Une fois qu’Outlook a reçu la redirection de votre serveur d’authentification, il retente immédiatement la requête d’origine. Cette fois, étant donné que vous avez associé l’identité Azure AD à la vôtre, votre point de terminaison traite la requête normalement.

Exemple

Vous pouvez utiliser l’exemple de carte suivant dans l’Designer Message actionnable pour le voir en action. Le point de terminaison dans cette carte vous invite à vous connecter à l’Plateforme d'identités Microsoft et (avec votre consentement) effectue une demande Graph pour obtenir votre profil. Le code de ce point de terminaison est disponible sous forme d’exemple sur GitHub.

{
  "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"
}

Feuille de route du support client

La liaison d’identité est disponible pour un ensemble limité de clients, la prise en charge de la fonctionnalité étant ajoutée à l’avenir. Le tableau suivant fournit les chronologie approximatives.

Client Disponibilité
Office 365 ProPlus Disponible
Outlook sur le web pour Office 365 Bientôt disponible
Outlook sur iOS Bientôt disponible
Outlook sur Android Bientôt disponible
Outlook sur Mac À déterminer

Ressources