Configurar la Autenticación en Power Virtual Agent

Escrito por Imanol Iza - 27/02/2020

Como sabréis Microsoft Power Virtual Agent es el nuevo miembro de la familia de la Power Platform. Microsoft ha creado una herramienta fantástica para crear interfaces conversacionales de una forma rápida y fácil. Esta plataforma está construida sobre Azure Bot Service y permite una extensibilidad muy grande utilizando toda la potencia de Power Platform.

Aquí es donde radica todo su valor, los usuarios de negocio podrán crear una interfaz conversacional a medida dotándole de un flujo de conversación adaptado al contexto del usuario. Podrán integrar el ChatBot con las" Flow Actions". Acciones de llamada a Power Automate que nos permiten extender la lógica e integrar con sistemas externos mediante API. Si aun así, estas acciones no cubren todas las necesidades podrán agregar "Bot Framework Skills" a sus ChatBots para dotarles de funcionalidad extra.

Imagen 1.- Power Virtual Agents Stack.

Una de las ventajas principales que tiene Power Virtual Agent es la Autenticación. La documentación existente sobre este tema es escasa y difusa. De modo que voy a tratar de explicar paso a paso como configurar la autenticación de Power Virtual Agent y espero que sirva de guía para los demás.  Antes hay que decir que únicamente podemos configurar un único endpoint de autenticación por Bot y que Power Virtual Agents es compatible con cualquier proveedor de identidad que cumpla con el estándar OAuth2.

Para configurar la autenticación de Power Virtual Agent:

Imagen 2.- Formulario para configurar la autenticación.
Imagen 3.- Aplicación de Azure AD a registrar.
  • Una vez la tengas creada debes configurar la URI de redirección:
  1. Selecciona en el menú "Autenticación".
  2. Agrega plataforma "Web".
  3. Escribe https://token.botframework.com/.auth/web/redirect.
  4. Selecciona la opción de "Access tokens".
  5. Selecciona "Configurar".
Imagen 4.- Configuración de URL de Redirección.
Imagen 5.- Configuración Tokens de acceso.
  • Lo siguiente que debes hacer es dar permisos de Graph para la App. Para ello selecciona "API Permissions" en el menú lateral:
  1. Añade un permiso.
  2. Elige "Microsoft Graph".
  3. Elige la opción de "Delegated permisión".
  4. Selecciona la opción "openid".
  5. Selecciona "Agregar permiso".​
Imagen 6.- Configuración de permisos en el Graph.
  • Por último, dirígete a "Certificados y secretos" y crea un nuevo secreto de cliente:
Imagen 7.- Creación de secretos de cliente.
  • Con esto estaría la aplicación registrada en el AAD. Ahora debes copiar los valores del Client ID y Client Secret en la configuración de Autenticación de Power Virtual Agent y listo. 
Imagen 8.- Copiando el ClientID y ClientSecret para el PVA.
Imagen 9.- Configuración del ClientID y ClientSecret en el PVA.
  • Agregamos una acción de Autenticación al flujo de conversación. Cuando lo ejecutes y el ChatBot solicite autenticación, te saldrá un recuadro de Login que pedirá un One Time Code. Introdúcelo en el chat de conversación y el Bot procederá a Autenticarse.
Imagen 10.- Añadiendo la acción de autenticación en el PVA.
Imagen 11.- OneTime Code para logarse en el PVA.
  • Una vez este autenticado, verás dos variables que devuelve el Bot, y que podemos usar después:
    • IsLoggedIn – Booleano devuelve si el usuario esta logado o no.
    • AuthToken – Bearer Token generado para el usuario.

Eso es todo, espero que os haya servido de ayuda para no volveros locos con la autenticación en Power Virtual Agent.

 

Imanol Iza

Cloud Operations Manager, NECSIA | Microsoft MVP

@imaiza

Imanol.iza@gmail.com

www.imanoliza.com

***