Autenticación de backend
Si tiene una aptitud que requiere autenticación con un proveedor de identidad, puede configurar un servicio de autenticación para activar la interacción entre Digital Assistant y ese proveedor de identidad.
Por ejemplo, puede que necesite configurar un servicio de autenticación si está creando una aptitud para un canal de Microsoft Teams, una aptitud que acceda a un calendario de Google o Outlook, o una aptitud que llame una conversación iniciada por la aplicación que utiliza un ID de usuario autenticado para identificar al usuario.
También debe configurar un servicio de autenticación si la aptitud utiliza un cliente OAuth 2.0, un enlace de cuenta OAuth 2.0 o un componente incorporado de restablecimiento de tokens OAuth2.
Si tiene una instancia de Digital Assistant emparejada con una suscripción a un servicio de Oracle Cloud Applications basado en Fusion, como Oracle Sales Automation u Oracle Fusion Cloud Human Capital Management, no tiene que hacer nada para configurar la autenticación de backend para las aptitudes proporcionadas. Nos hemos encargado de esto por usted.
Componentes de seguridad incorporados
Oracle Digital Assistant proporciona los siguientes componentes de seguridad:
- Cliente OAuth 2.0 : obtiene un token de acceso OAuth2 de tipo de permiso Credenciales de cliente que un componente personalizado puede utilizar para acceder a los recursos de cliente protegidos por OCI IAM u Oracle Access Manager (OAM).
(Si el flujo de diálogo se desarrolla en modo YAML, utilice
System.OAuth2Client
.)Antes de utilizar este componente en una aptitud, registre una aplicación como se describe en Registro de proveedor de identidad y, a continuación, pida al administrador que agregue un servicio para el cliente como se describe en Servicios de autenticación. Si tiene una instancia de Digital Assistant emparejada con una suscripción a un servicio de Oracle Cloud Applications basado en Fusion, como Oracle Sales Cloud u Oracle Human Capital Management Cloud, su dominio de identidad de OCI IAM ya tiene una aplicación registrada y un servicio de autenticación creado.
- Vínculo de cuenta OAuth 2.0 : obtiene un token de acceso OAuth2 del tipo de permiso Código de autorización que un componente personalizado puede utilizar para acceder a recursos protegidos por uno de estos proveedores de identidad:
- IAM de OCI
- Oracle Access Manager (OAM)
- Plataforma de identidad de Microsoft
- Plataforma de identidad de Google
(Si el flujo de diálogo se desarrolla en modo YAML, utilice
System.OAuth2AccountLink
.)Otro uso de este componente consiste en autenticar a los usuarios para conversaciones activadas para la aplicación, que identifican a los usuarios móviles por sus nombres de usuario, como se describe en Creación de un canal para la aplicación externa.
Antes de utilizar este componente en una aptitud, registre una aplicación como se describe en Registro de proveedor de identidad y, a continuación, pida al administrador que agregue un servicio para el cliente como se describe en Servicios de autenticación. Si tiene una instancia de Digital Assistant emparejada con una suscripción a un servicio de Oracle Cloud Applications basado en Fusion, como Oracle Sales Cloud u Oracle Human Capital Management Cloud, su dominio de identidad de OCI IAM ya tiene una aplicación registrada y ya se ha creado un servicio de autenticación.
-
Restablecer tokens OAuth 2.0 : revoca todos los tokens de acceso y actualización del usuario conectado de un servicio de autenticación especificado. Se utiliza para flujos de diálogo que utilizan el componente de enlace de cuenta OAuth 2.0.
(Si el flujo de diálogo se desarrolla en modo YAML, utilice
System.OAuth2ResetTokens
.)Tenga en cuenta que no puede utilizar este componente con la plataforma de identidad de Microsoft porque no soporta la revocación de tokens de acceso mediante llamadas REST, solo a través de la interfaz de línea de comandos.
-
Vínculo de cuenta OAuth : obtiene el código de autorización de los proveedores de identidad compatibles con el protocolo OAuth2. El componente personalizado debe intercambiar este código por un token de acceso. Este componente no utiliza un servicio de autenticación.
(Si el flujo de diálogo se desarrolla en modo YAML, utilice
System.OAuthAccountLink
.)
Registro de proveedor de identidad
Un administrador debe registrar una aplicación (también llamada cliente de OAuth) con el proveedor de identidad (IDP) para que pueda utilizar el componente OAuth2Client
, OAuth2AccountLink
u OAuthAccountLink
en una aptitud.
Registro de una aplicación con OCI IAM u OAM
Para poder utilizar un componente OAuth2Client
, OAuth2AccountLink
u OAuthAccountLink
en una aptitud, un administrador debe registrar una aplicación confidencial (también conocida como cliente OAuth) con OCI IAM u OAM.
Si tiene una instancia de Digital Assistant emparejada con una suscripción a un servicio de Oracle Cloud Applications basado en Fusion, como Oracle Sales Cloud u Oracle Human Capital Management Cloud, su dominio de identidad de OCI IAM ya tiene una aplicación registrada para ese servicio.
Para obtener más información sobre cómo registrar una aplicación con OCI IAM, consulte Adición de una aplicación confidencial en la documentación de Oracle Cloud Infrastructure. Puede obtener información sobre el registro de una aplicación con OAM en la sección Configuración de servicios OAuth en Administración de Oracle Access Management.
Al registrar una aplicación (cliente) con OCI IAM u OAM, deberá proporcionar esta información:
-
Tipos de permisos permitidos: la aplicación debe utilizar el tipo de permiso Código de autorización o el tipo de permiso Credenciales de cliente.
-
Ámbitos o roles: incluya los recursos a los que necesitan acceder los componentes personalizados. Si incluye el tipo de permiso de actualización de token, también tendrá que agregar el ámbito correspondiente, que es
offline_access
para OCI IAM. -
URL de redirección o de devolución de llamada: deberá proporcionar el URL que usa el proveedor de identidad para devolver el código de autorización. Algunos proveedores de identidad lo denominan URL de redirección o URI de devolución de llamada. Para saber qué utilizar en el URL de redireccionamiento, vaya a la página Canales y abra cualquier canal de Facebook o Webhook (si no tiene ninguno, cree uno ficticio). Utilice el dominio y el puerto de la URL de webhook del canal (por ejemplo,
https://<dominio>:<puerto>/connectors/v2/tenants/<IDinquilino>/listeners/facebook/channels/<IDcanal>
) para crear la URL de redireccionamiento, que debe tener el formatohttps://<dominio>:<puerto>/connectors/v2/callback
. Por ejemplo,https://example.com:443/connectors/v2/callback
.Si la instancia está aprovisionada en Oracle Cloud Platform (como ocurre con todas las instancias de la versión 19.4.1), utilice
v1
en lugar dev2
.
Si utiliza OAuth2Client
u OAuth2AccountLink
para autenticarse con el proveedor de identidad, después de crear la aplicación (cliente OAuth), anote las credenciales del cliente, el token del proveedor de identidad y el URL de autorización. Necesitará esta información al crear un servicio de autenticación como se describe en Servicios de autenticación.
Registro de una aplicación con la plataforma de identidad de Microsoft
Para registrar una aplicación con la plataforma de identidad de Microsoft, siga las instrucciones de Microsoft en Inicio rápido: Registro de una aplicación en la plataforma de identidad de Microsoft.
Defina el tipo de aplicación en Web.
Deberá proporcionar la URL que utiliza la plataforma para devolver el código de autorización. Para saber qué se debe utilizar en la URL, vaya a la página Canales del asistente digital y abra cualquier canal de Facebook o Webhook (si no tiene ninguno, cree uno ficticio). Utilice el dominio y el puerto de la URL de webhook del canal (por ejemplo, https://<dominio>:<puerto>/connectors/v2/tenants/<IDinquilino>/listeners/facebook/channels/<IDcanal>
) para crear la URL de redireccionamiento, que debe tener el formato https://<dominio>:<puerto>/connectors/v2/callback
. Por ejemplo, https://example.com:443/connectors/v2/callback
.
Una vez que se ha registrado la aplicación, debe crear un secreto de cliente como se describe en el tema de Microsoft Creación de un secreto de aplicación. Utilizará este secreto al crear un servicio de autenticación para la aplicación.
Registro de una aplicación con autorización de Google OAuth2
Para registrar una aplicación con Google OAuth2, cree un proyecto y active las API necesarias como se muestra en el tema de Google sobre activación de las API para el proyecto. Si tiene previsto utilizar los componentes de calendario, asegúrese de activar tanto la API de Google Calendar como la API de CalDAV.
A continuación, obtenga el identificador de cliente y el secreto de la aplicación, como se describe en el tema de Google sobre creación de credenciales de autorización.
En la pantalla de consentimiento de OAuth, especifique los ámbitos para los que la aplicación necesitará permiso de acceso. Consulte el tema de Google sobre identificación de ámbitos de acceso para obtener más información.
Servicios de autenticación
Para utilizar los componentes de seguridad OAuth 2.0 Client y OAuth 2.0 AccountLink, el administrador debe agregar primero un servicio para el IDP en la página Authentication Services. Puede crear servicios para los tipos de permiso Código de autorización y Credencial de cliente. Los servicios de autenticación son compatibles con los proveedores de identidad R2PS3 de OCI IAM y OAM.
Si tiene una instancia de Digital Assistant emparejada con una suscripción a un servicio de Oracle Cloud Applications basado en Fusion, como Oracle Sales Cloud u Oracle Human Capital Management Cloud, ya se ha creado un servicio de autenticación para el dominio de identidad de OCI IAM asociado a la instancia de Digital Assistant.
Antes de crear un servicio, debe pedir al administrador del proveedor de identidad que le proporcione la información necesaria para agregar un servicio.
Agregar un servicio de código de autorización
A continuación se muestra cómo crear un servicio de autenticación para el tipo de permiso Código de autorización para OCI IAM, OAM, la plataforma de identidad de Microsoft y la plataforma de identidad de Google. Este tipo de permiso se autentica en el nombre de usuario y la contraseña.
Consejo:
Para OCI IAM, cuando un usuario se conecta mediante un componente de enlace de cuenta OAuth 2 (Visual Flow Designer) o un componenteSystem.OAuth2AccountLink
(modo YAML), puede almacenar automáticamente la información de perfil del usuario de IAM durante la duración de una sesión. Consulte Store User Profile for the Duration.
Identidad de usuario en Digital Assistant
En Oracle Digital Assistant, tiene dos opciones principales para gestionar las identidades de los usuarios de una aptitud determinada:
- Permita que Digital Assistant cree un perfil de usuario temporal y provisional que se base en el canal del usuario y en los detalles del usuario, si los hay, que proporciona el proveedor de ese canal. En tales casos, una persona que accede a la misma aptitud a través de diferentes canales tendría perfiles diferentes para cada canal. Los detalles de este perfil se almacenan durante 14 días. Este es el comportamiento por defecto.
- Cree una identidad de usuario unificada para cada usuario que se reconozca en varios canales y que se pueda mantener durante un período de tiempo más largo (o más corto). En este modo, puede proporcionar a los usuarios las opciones para dar su consentimiento o excluirse del enlace de sus detalles de identidad y almacenarlos con la identidad de usuario unificada. Este enfoque está disponible para los canales de Twilio, Slack y MS Teams.
La asociación con un usuario unificado también ayuda con las notificaciones push. Permite al servicio de notificación determinar cuál de los canales del usuario es viable para recibir una notificación y, por lo tanto, reenviar el mensaje a ese canal.
Configuración de la identidad de usuario unificada
Puede configurar aptitudes para identidades de usuario unificadas con los siguientes pasos generales:
- Active el enlace de cuentas de canal en la instancia de Digital Assistant.
- Agregue un servicio de código de autorización en la instancia de Digital Assistant.
- En el flujo de diálogo de la aptitud, agregue un componente OAuth 2.0 Enlace de cuenta (para el modo de diálogo Visual) o System.OAuth2AccountLink (para el modo YAML).
- En el componente, configure el manejo del consentimiento de usuario para almacenar los datos de identidad de usuario unificados.
El ID de usuario unificado para un usuario determinado se define la primera vez que el usuario accede al asistente digital y se autentica con una autorización mediante el componente OAuth 2.0. Es decir, la identidad autenticada inicial se convierte en el "punto de verdad". Todos los ID de cuenta de canal para el mismo usuario autenticado OAuth 2.0 están asociados al ID de usuario unificado.
Activar enlace de cuenta de canal
Puede activar el enlace de cuentas de canal para permitir que las identidades de usuario se reconozcan en varios canales de una aptitud. Por ejemplo, si un usuario inicia una conversación en un canal y está esperando una respuesta, también podría recibir una notificación de esa respuesta en el otro canal.
Para activar el enlace de canal:
- Haga clic en
para abrir el menú lateral y seleccione Configuración > Servicios de identidad unificados.
- Establezca el conmutador Enlace de cuenta de canal en Activado.
Antes de la versión 22.12, era posible activar el enlace de cuentas de canal en aptitudes individuales mediante la inclusión de un componente OAuth 2.0 Account Link en la aptitud y la definición de su propiedad
associateWithUnifiedUser
en true
. A partir de la versión 22.12, esta propiedad está en desuso y no tiene ningún efecto, incluso si permanece en el YAML de un componente.
Privacidad de usuario final: opciones de consentimiento de usuario
Cuando haya activado el enlace de cuentas de canal, puede configurar cómo manejar el consentimiento del usuario para cada aptitud de forma individual, mediante la propiedad requiresAssociationConsent
del componente de enlace de cuenta OAuth 2.0 de la aptitud. Estas son las opciones:
Yes
: presenta al usuario las siguientes opciones de consentimiento para la asociación de los datos de cuenta de canal con un ID de usuario unificado:- Cuenta asociada. Confirma que el usuario ha aprobado el enlace de la identidad de canal actual con el ID de usuario unificado centralizado.
- Nunca vincule esta cuenta. Indica que esta cuenta de canal específica no debe estar asociada con el ID de usuario unificado. A continuación, no se le pregunta al usuario si enlazar esta cuenta en el futuro (aunque el usuario puede revertir esa decisión más adelante).
- No en este momento. No enlaza las cuentas de la sesión actual, pero no impide que se solicite aprobación al usuario en sesiones posteriores. La petición de consentimiento se suprime temporalmente después de que el usuario seleccione esta opción, pero puede volver a aparecer cuando el usuario se autentique de nuevo más de 24 horas después.
No
. La cuenta de canal de usuario se enlaza automáticamente al ID de usuario unificado sin que se le solicite el consentimiento.Notify
. La cuenta de canal de usuario se enlaza automáticamente al ID de usuario unificado y el usuario recibe una notificación de ese hecho.
El valor predeterminado de la propiedad es Yes
.
Personalización de las peticiones de datos y los mensajes de consentimiento del usuario
Hay un juego de peticiones de datos y mensajes que se muestran en la conversación cuando se notifica a un usuario que la información de identidad de su cuenta de canal se está enlazando con una identidad de usuario unificada o si se le proporcionan opciones de consentimiento. Puede ajustar la redacción de estas peticiones de datos en los mensajes del grupo de recursos de la aptitud.
Para acceder a estas peticiones de datos y mensajes concretos en el grupo de recursos:
- En la aptitud, haga clic en
para abrir el grupo de recursos.
- Seleccione el separador Configuración.
- En el campo Filtro, introduzca
OAuthAccount2Link - consent
para mostrar las entradas de grupo relacionadas con el consentimiento.
Retención de datos de usuario unificados
El tiempo que se almacenan los datos de identidad de usuario unificados se define en el nivel de instancia.
Para configurar la cantidad de tiempo que se almacenan estos datos:
- Haga clic en
para abrir el menú lateral y seleccione Configuración > Servicios de identidad unificados.
- Defina el conmutador Suprimir datos de cuenta de canal de usuario después del período de retención especificado en Activado.
Si no se activa, los datos de la cuenta del canal del usuario se conservarán indefinidamente.
- En el Período de retención de datos de usuario de cuenta de canal (en días), introduzca el número de días que desea que se almacenen los datos.
El mínimo de 7 y el máximo es 1100.
Nota
Trabajos para depurar los datos que se ejecutan solo una vez cada 24 a 48 horas. Por lo tanto, según la hora del trabajo, los datos se pueden conservar hasta 48 horas más que el período de retención que designe.
La Supresión de datos de cuenta de canal del usuario después del período de retención especificado solo afecta a los datos relacionados con el canal que se almacenan como parte de una identidad de usuario unificada. Cuando no se ha activado el enlace de cuenta de canal, los datos de perfil del usuario del canal se conservarán durante 14 días.
Para los canales en los que no se admite el enlace de canal, también se aplica el período de 14 días, incluso si el enlace de cuenta de canal se ha activado globalmente.