Cómo configurar un Proveedor OAuth de Microsoft

1. Introducción

Esta guía explica cómo configurar un cliente en Microsoft Azure y después utilizar la información de Microsoft Azure para configurar un Proveedor OAuth en SuiteCRM.

2. Registrar la aplicación SuiteCRM en Microsoft

Los siguientes pasos asumen que está configurando un proveedor para una cuenta de empresa que se compartirá entre muchos usuarios.

2.1. Ir a Registros de Aplicaciones

Vaya a https://portal.azure.com/ e inicie sesión.

En la página de inicio debería ver una pantalla similar a la siguiente.

azure-homepage.png

Compruebe si hay un enlace a Registros de Aplicaciones en la página de inicio; debería tener un aspecto similar al siguiente.

azure-services.png

En caso contrario, vaya a Más servicios y busque el enlace Registros de Aplicaciones.

more-services.png

azure-services-app-registration-entry.png

La página Registros de Aplicaciones de Azure tiene el siguiente aspecto:

azure-app-registrations.png

2.2. Crear un nuevo Registro de Aplicación

En la página Registros de Aplicaciones, haga clic en el enlace "Nuevo Registro".

azure-new-app-registration-link.png

Debería ver entonces la página de creación de registro de aplicación.

En la página de registro, complete lo siguiente:

  1. Añada un nombre para el registro, como "SuiteCRM".

  2. Seleccione una de las opciones de "Tipos de cuenta admitidos" según sus necesidades.

    1. Nota En este ejemplo vamos a utilizar "Inquilino único" (Single tenant), lo que no significa que sea la opción que se deba usar en todos los casos.

    2. Debe seleccionar la opción adecuada a su caso de uso.

  3. Establezca una "URI de redirección". Debería ser similar a: https://<host-de-su-instancia-suitecrm>/index.php?entryPoint=setExternalOAuthToken

    1. Nota Azure solo permite conexiones https a hosts que no sean localhost (la interfaz de Azure se lo advertirá).

azure-new-app-registration-with-info.png

Tras rellenar la información, continúe con el registro.

Tras el registro, debería ser redirigido a la "vista de detalle" del registro.

azure-main-app-registration-page.png

Allí encontrará el Application (client) ID, que es el Client Id que necesitará configurar más adelante en SuiteCRM.

azure-client-id.png

2.3. Crear un secreto de cliente

El siguiente paso es generar un "secreto de cliente" que SuiteCRM utilizará para comunicarse con Microsoft.

En la página principal de su Registro de Aplicación, haga clic en "Añadir un certificado o secreto".

azure-add-secret.png

Esto debería llevarle a la página "Certificados y secretos".

azure-cerfiticates-and-secrets-page.png

Aquí puede generar un nuevo secreto haciendo clic en "Nuevo Secreto de Cliente".

azure-new-client-secret.png

Debería abrirse una barra lateral donde puede indicar el nombre que desea dar a su secreto y su duración. Tras establecer el nombre y la duración, haga clic en "Añadir".

azure-add-a-client-secret-sidebar.png

Esto debería generar una nueva línea en la tabla de la página "Certificados y secretos".

azure-new-client-secret.png

Debe copiar el "Valor" (haciendo clic en el icono situado junto a él) de su nuevo secreto y guardarlo en un lugar seguro. No podrá volver a acceder a este valor desde la interfaz de Microsoft Azure. El secreto será necesario en la configuración de SuiteCRM.

azure-secret-value.png

Recomendamos anotar la fecha de caducidad de su Secreto de Cliente y renovarlo de forma periódica. Una vez que el secreto caduca, sus conexiones de correo fallarán con un mensaje de error en los registros similar a OAuthAuthorizationService::hasConnectionTokenExpired | Access token has expired. Si ve este error, genere un nuevo secreto en Azure y actualícelo en SuiteCRM para garantizar la continuidad del acceso.

Ahora vuelva a la página principal de su Registro de Aplicación, haciendo clic en "Información general" en la barra lateral.

azure-link-to-app-registration-overview.png

2.4. Definir los ámbitos (scopes) autorizados

Nuestro siguiente paso es configurar los ámbitos a los que SuiteCRM podrá acceder.

Vuelva a la página principal de su Registro de Aplicación.

azure-main-app-registration-page.png

Haga clic en "Ver permisos de API".

azure-view-api-permissions-link.png

Esto debería llevarle a la página "Permisos de API".

azure-view-api-permissions-link.png

Ahora vamos a añadir los ámbitos que permitimos. Haga clic en "Añadir un permiso".

azure-add-permission-link.png

Esto debería abrir una barra lateral.

azure-add-permission-sidebar-clean.png

Los permisos que queremos están en Microsoft Graph. Haga clic en "Microsoft Graph".

azure-microsoft-graph-permissions-link.png

Tras hacer clic, se le pedirá que indique qué tipo de permiso desea utilizar.

azure-microsoft-graph-permission-types.png

Haga clic en "Permisos delegados".

azure-delegated-permissions-link.png

Ahora debería ver una nueva sección "Seleccionar permisos".

En la barra de búsqueda escriba offline_access; debería mostrarse el permiso offline_access. Selecciónelo y haga clic en "Añadir permisos".

azure-add-offline-access-permission.png

Repita el proceso para los siguientes permisos: . IMAP.AccessAsUser.All . User.Read

azure-add-imap-permission.png azure-add-user-read-permission.png

Tras añadir todos los permisos anteriores, su tabla de permisos debería tener un aspecto similar al siguiente:

azure-api-permissions-page-with-values.png

Ahora vuelva a la página principal de su Registro de Aplicación, haciendo clic en "Información general" en la barra lateral.

azure-link-to-app-registration-overview.png

2.5. Definir el URI de retorno

Nuestro siguiente paso es establecer las configuraciones en "Autenticación", como el URI de retorno y otras.

Vuelva a la página principal de su Registro de Aplicación.

azure-main-app-registration-page.png

Haga clic en el enlace "URI de redirección".

azure-redirect-uri-link.png

Esto debería llevarle a la página "Autenticación".

Aquí debería ver el URI de retorno que configuró anteriormente.

azure-redirect-uri-list.png

A continuación, active la opción "Tokens de acceso (utilizados para flujos implícitos)" en la sección Flujos de concesión implícitos e híbridos.

azure-enable-access-token.png

Ahora vuelva a la página principal de su Registro de Aplicación, haciendo clic en "Información general" en la barra lateral.

azure-link-to-app-registration-overview.png

2.6. Obtener la información de los endpoints

El último paso que debe realizar es obtener los siguientes endpoints:

  1. Endpoint de autorización OAuth 2.0

  2. Endpoint de autorización OAuth 2.0 (v2)

Vuelva a la página principal de su Registro de Aplicación. azure-main-app-registration-page.png

Haga clic en el enlace "Endpoints".

azure-endpoints-link.png

Esto debería abrir una barra lateral similar a la siguiente:

azure-endpoints-sidebar.png

Desde la barra lateral, copie y anote los siguientes endpoints, que serán necesarios para configurar SuiteCRM.

azure-required-endpoints.png

3. Configurar el Proveedor de Microsoft en SuiteCRM

En los siguientes pasos vamos a configurar un proveedor que podrá ser utilizado por varios usuarios dentro de SuiteCRM. Este escenario solo tiene sentido cuando ha registrado una aplicación en Azure para cuentas que comparten el mismo dominio, normalmente cuentas que no son cuentas @outlook o similares.

Dado que vamos a configurar un proveedor OAuth de Grupo, los siguientes pasos deben ser realizados por un usuario administrador.

Inicie sesión en SuiteCRM como usuario administrador y vaya al panel de administración.

suitecrm-admin-panel.png

En el panel de administración, busque "Proveedores OAuth Externos".

suitecrm-external-oauth-provider-admin-panel.png

Haga clic en "Proveedores OAuth Externos", lo que debería llevarle a la vista de lista del módulo.

suitecrm-external-oauth-provider-module.png

Como administrador puede crear dos tipos de registros:

  1. Personal

    1. Solo son accesibles por el usuario que los creó.

    2. Los registros personales están pensados para configurar el acceso a cuentas personales en proveedores existentes, sin un dominio personalizado. Es decir, por ejemplo al configurar el acceso a sus cuentas @gmail u @outlook. Estos pueden compartir una configuración de grupo, ya que para cada uno los campos "Client Id", "Client Secret" y otros campos serán únicos por cuenta.

  2. Grupo

    1. Registros que serán utilizados por muchos usuarios.

    2. Los registros de grupo están pensados para ser utilizados por todos los que tengan cuentas que compartan el mismo dominio, como @example-inc.onmicrosoft.com. Los campos "Client ID", "Client Secret" y el resto de campos serán los mismos para todas las cuentas que utilicen este dominio.

Como se ha mencionado antes en esta guía, vamos a configurar un proveedor que será utilizado por varios usuarios, por lo que vamos a crear un registro de grupo.

Haga clic en "Nuevo Proveedor OAuth de Grupo", lo que debería llevarle a la vista de creación.

Añada un nombre significativo a su proveedor; puede ser simplemente "Microsoft", el nombre de su dominio, o algo que le ayude a identificar y diferenciar el proveedor de otros proveedores posibles.

A continuación, seleccione "Microsoft" en el campo "Conector".

suitecrm-connector-selection.png

El tipo de conector Microsoft funciona de la misma manera que el tipo de conector "Genérico". La diferencia es que tiene varios valores predeterminados integrados. Esto le ahorra algunos pasos de configuración y facilita el proceso de configurar un Proveedor OAuth Externo.

Añada los "Ámbitos" (Scopes) a los que desea acceder, los mismos que configuró en la página de Permisos de API de Azure.

suite_crm_oauth_provider_scopes.png

Establezca el "Client Id" generado en Azure.

suitecrm-oauth-provider-client-id.png

Establezca el "Client Secret" generado en Azure.

suitecrm-oauth-provider-client-secret.png

Establezca la "URL de Autorización" que copió de los endpoints de Azure (endpoint de autorización OAuth 2.0 (v2)).

azure-authorize-url.png suitecrm-oauth-provider-authorize-url.png

Establezca la "URL del Token de Acceso" que copió de los endpoints de Azure (endpoint de token OAuth 2.0 (v2)).

azure-access-token-url.png suitecrm-oauth-provider-access-token-url.png

Su registro debería tener ahora un aspecto similar al siguiente:

suitecrm-oauth-provider-filled-example.png

Dado que muchos de los demás campos tienen valores predeterminados y el conector de Microsoft añade otros valores predeterminados, estos son todos los campos que debería necesitar configurar.

Ya puede guardar el registro.

4. Configurar los Correos Entrantes de los Usuarios

Ahora los usuarios deberían poder utilizar el Proveedor OAuth que ha creado para autenticarse con Microsoft.

Consulte la guía Cómo configurar Correo Entrante con OAuth para conocer los pasos que los usuarios deben seguir para configurar sus correos entrantes utilizando una conexión OAuth.

Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.