Compartir a través de


Vinculación de la identidad de Azure Active Directory con su propio proveedor de identidades (versión preliminar)

Las acciones Action.Http en mensajes accionables incluyen un token emitido por Azure AD en el Authorization encabezado, que proporciona información sobre la identidad del usuario. Sin embargo, es posible que esta información no sea suficiente para autenticar al usuario en el servicio. Con la vinculación de identidades, puede indicar al cliente de Outlook que presente la interfaz de usuario para permitir que el usuario se autentique con el servicio. Una vez que el usuario se autentica, puede asociar su identidad de Azure AD a la suya propia para permitir la autenticación sin problemas para futuras solicitudes.

Uso de la vinculación de identidades

El servicio puede desencadenar la autenticación en cualquier Action.Http punto de conexión de acción devolviendo una 401 Unauthorized respuesta con un ACTION-AUTHENTICATE encabezado. El encabezado contiene la dirección URL de autenticación del servicio.

Una vez completada la autenticación, redireccionamiento de la solicitud a la dirección URL especificada en el Identity-Linking-Redirect-Url encabezado enviado en la solicitud original.

Flujo de vinculación de identidad

Solicitud inicial al punto de conexión de acción

Los servidores de Microsoft envían una solicitud POST inicial al punto de conexión de acción.

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
}

El servicio valida el token JWT y extrae la identidad del usuario de la sub notificación.

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

El servicio no encuentra ningún usuario con una identidad vinculada de, por lo que conserva el Identity-Linking-Redirect-Url valor de AdeleV@contoso.com encabezado y devuelve una 401 respuesta.

Nota:

El método exacto que se usa para conservar la dirección URL de redireccionamiento del encabezado depende de la Identity-Linking-Redirect-Url implementación. Si el servicio usa OAuth, puede guardarlo en el state parámetro , por ejemplo.

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

Solicitud de autenticación

Después de que Outlook reciba con 401 el ACTION-AUTHENTICATE encabezado , abrirá un panel de tareas y navegará a la dirección URL desde el encabezado.

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

El servicio autentica al usuario y asocia la identidad proporcionada por el token emitido por Azure AD con el usuario del sistema. Una vez completada, el servicio redirige la solicitud a la dirección URL desde el Identity-Linking-Redirect-Url encabezado.

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

Acción de reintento

Una vez que Outlook recibe el redireccionamiento de nuevo desde el servidor de autenticación, vuelve a intentar inmediatamente la solicitud original. Esta vez, dado que ha asociado la identidad de Azure AD con la suya propia, el punto de conexión procesa la solicitud con normalidad.

Ejemplo

Puede usar la siguiente tarjeta de ejemplo en el Designer de mensaje accionable para verlo en acción. El punto de conexión de esta tarjeta le pedirá que inicie sesión en el Plataforma de identidad de Microsoft y (con su consentimiento) realizará una solicitud de Graph para obtener su perfil. El código de este punto de conexión está disponible como ejemplo en 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"
}

Hoja de ruta de soporte técnico del cliente

La vinculación de identidades está disponible para un conjunto limitado de clientes, con compatibilidad con la característica que se agregará en el futuro. En la tabla siguiente se proporciona la escala de tiempo aproximada.

Cliente Disponibilidad
Office 365 ProPlus Disponible
Outlook en la web para Office 365 Próximamente
Outlook en iOS Próximamente
Outlook en Android Próximamente
Outlook en Mac Por determinar

Recursos