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 |