Autenticación de las APIs de Google Workspace con credenciales de cliente de OAuth 2.0

En este documento, se muestra cómo configurar la autenticación para acceder a las APIs de Google Workspace mediante las credenciales de cliente de OAuth 2.0. Las credenciales de cliente de OAuth 2.0 te permiten recuperar un token en el contexto de un usuario final, como un token necesario para acceder a Hojas de cálculo de Google. Sin importar dónde se aloje tu sistema SAP, puedes usar las credenciales de cliente de OAuth 2.0 para la autenticación en las APIs de Google Workspace, siempre que el sistema admita OAuth 2.0.

Para autenticarte en las APIs de Google Workspace con credenciales de cliente de OAuth 2.0, debes completar la siguiente configuración en tu proyecto de Google Cloud y tu entorno de SAP:

Configuraciones de la consola de Google Cloud

Configuración de SAP Landscape

El SDK de ABAP para Google Cloud se envía con los siguientes componentes principales, que son necesarios para la autenticación basada en credenciales de cliente de OAuth 2.0:

  • Tipo de proveedor de servicios de OAuth 2.0 /GOOG/ABAP_SDK que especificas para la configuración del perfil de cliente de OAuth 2.0.
  • Clase de autenticación /GOOG/CL_OAUTH_GOOGLE que especificas para la configuración de la clave del cliente.
  • Implementaciones de complementos empresariales (BAdI) de SAP que prepropagan los parámetros de OAuth específicos de Google, como los extremos y la configuración de parámetros obligatoria

Sin embargo, también debes completar las siguientes opciones de configuración en tu entorno de SAP:

La pantalla de consentimiento de OAuth es un mensaje que les indica a los usuarios quién solicita acceso a sus datos y a qué tipo de datos pueden acceder tu app.

  1. En la consola de Google Cloud, ve a Menú  > API y servicios > pantalla de consentimiento de OAuth.

    Ir a la pantalla de consentimiento de OAuth

  2. Selecciona el tipo de usuario Externo para tu aplicación y haz clic en Crear.

  3. Para completar el formulario de registro de apps, especifica los siguientes detalles:

    • Nombre de la app: El nombre de la aplicación que requiere consentimiento.
    • Correo electrónico de asistencia del usuario: Un correo electrónico de asistencia para que los usuarios se comuniquen contigo si tienen preguntas sobre su consentimiento.
    • Dominios autorizados: Los dominios que se usarán durante el consentimiento de OAuth.
    • Información de contacto del desarrollador: Las direcciones de correo electrónico para que Google te notifique sobre cualquier cambio en tu proyecto.
  4. Haz clic en Save and Continue.

Crea un ID de cliente de OAuth 2.0

Para autenticarte como usuario final y acceder a los datos del usuario en tu app, debes crear uno o más IDs de cliente de OAuth 2.0. Un ID de cliente se usa con el fin de identificar una sola app para los servidores de OAuth de Google.

  1. En la consola de Google Cloud, ve a Menú  > API y servicios  > Credenciales.

    Ir a Credenciales

  2. Haz clic en Crear credenciales >ID de cliente de OAuth.

  3. En el campo Tipo de aplicación, selecciona Aplicación web.

  4. En el campo Nombre, escribe un nombre para las credenciales. Este nombre solo se muestra en la consola de Google Cloud.

  5. En URI de redireccionamiento autorizados, haz clic en Agregar URI. Luego, ingresa el URI de redireccionamiento de SAP al que el servidor OAuth 2.0 puede enviar respuestas.

    Puedes obtener el URI de redireccionamiento de SAP desde la configuración de OAuth 2.0 en la transacción SICF.

  6. Haz clic en Crear.

  7. Toma nota del ID de cliente y del Secreto del cliente.

Crea un perfil de cliente de OAuth 2.0

Como desarrollador de ABAP, debes crear un perfil de cliente de OAuth con los permisos de OAuth 2.0 que se requieren para los requisitos de tu empresa. Si deseas obtener información sobre los permisos de OAuth 2.0 para las APIs de Google, consulta Alcances de OAuth 2.0 para las API de Google.

Se envía un perfil de cliente de OAuth /GOOG/OAUTH_PROFILE_SAMPLE de muestra con el SDK, con los alcances de OAuth 2.0 configurados para la API de Hojas de cálculo de Google.

  1. En la GUI de SAP, ingresa el código de transacción SE80.
  2. En la lista desplegable, selecciona Objeto de desarrollo.
  3. Para crear un objeto de desarrollo en el espacio de nombres personalizado, selecciona Crear > Otros > Perfil de cliente de OAuth 2.0 en el menú contextual del nombre del objeto
  4. Ingresa los siguientes detalles:

    • En el campo Perfil del cliente, ingresa un nombre del perfil del cliente.
    • En el campo Tipo, selecciona /GOOG/ABAP_SDK. Este es el tipo de proveedor predeterminado enviado con el SDK de ABAP para Google Cloud.
  5. Agrega los permisos necesarios a tu perfil de cliente. Para obtener información sobre los permisos de OAuth 2.0, consulta Permisos de OAuth 2.0 para las APIs de Google.

  6. Guarda el perfil del cliente en tu paquete de desarrollo. Incluye el perfil de cliente en una solicitud de transporte, que se puede transportar a entornos superiores.

Configura el cliente de OAuth 2.0

Como administrador de SAP, asocias el perfil de cliente de OAuth con las credenciales de cliente de Google Cloud.

Esta es una actividad única que debes realizar en cada sistema SAP en tu entorno de SAP (Desarrollo, pruebas y producción).

  1. En la GUI de SAP, ingresa el código de transacción OA2C_CONFIG. La página de acceso de SAP se abre en el navegador predeterminado.
  2. Accede con tus credenciales de SAP.
  3. Para crear un cliente de OAuth 2.0, haz clic en Crear.
  4. En el cuadro de diálogo Crear un nuevo cliente de OAuth 2.0, haz lo siguiente:
    1. Selecciona el perfil de cliente de OAuth 2.0 que creaste antes en Crea un perfil de cliente de OAuth 2.0 en tu sistema SAP.
    2. Ingresa un nombre para la configuración.
    3. Ingresa el ID de cliente de OAuth 2.0 de las credenciales de Google Cloud que creaste antes en Crea credenciales de ID de cliente de OAuth 2.0.
    4. Haz clic en OK.
  5. En la pestaña Administración, en la sección Configuración general, ingresa el secreto del cliente de las credenciales de Google Cloud que creaste antes en Crea OAuth.Credenciales de ID de cliente 2.0
  6. Si usas un servidor proxy para enrutar el tráfico HTTP/HTTPS saliente desde tu sistema SAP, debes mantener los siguientes detalles del host del proxy en la sección Configuración de acceso:

    • Host de proxy
    • Puerto proxy:
    • Usuario de proxy
    • Contraseña de proxy
  7. Haz clic en Guardar.

Configura la clave de cliente

  1. En la GUI de SAP, ejecuta el código de transacción /GOOG/SDK_IMG.

    Como alternativa, ejecuta el código de transacción SPRO y, luego, haz clic en IMG de referencia de SAP.

  2. Haz clic en el SDK de ABAP para Google Cloud > Configuración básica > Configurar clave de cliente.
  3. Haz clic en Entradas nuevas.
  4. Ingresa los valores para los siguientes campos:

    Campo Descripción
    Nombre de la clave de Google Cloud Especifica un nombre de la configuración de la clave de cliente.
    Nombre de la cuenta de servicio de Google Cloud Deja este campo en blanco.
    Permiso de Google Cloud Deja este campo en blanco.
    Identificador de proyecto de Google Cloud Especifica el ID del proyecto de Google Cloud que contiene las APIs de destino.
    Nombre del comando Deja este campo en blanco.
    Clase de autorización Especifica la clase de autenticación, /GOOG/CL_OAUTH_GOOGLE.
    Almacenamiento en caché de tokens Deja este campo en blanco.
    Segundos de actualización de los tokens Deja este campo en blanco.
    Parámetro de autorización 1 Especifica el nombre del perfil de cliente de OAuth que creaste antes en Crea un perfil de cliente de OAuth 2.0 en tu sistema SAP.
    Parámetro de autorización 2

    Especifica el nombre de configuración que definiste en el cliente de OAuth 2.0 para un ID de cliente.

    Este campo es obligatorio si asociaste un único perfil de cliente de OAuth con más de un ID de cliente.

    Para obtener más información, consulta Situación de varios proyectos de Google Cloud.

  5. Guarda la entrada nueva.

Solicita tokens de acceso de OAuth 2.0

Como usuario final, debes solicitar un token de acceso de OAuth 2.0 para permitir el acceso a los recursos de la API.

Esta es una actividad única que cada usuario debe realizar en cada sistema SAP en tu entorno de SAP (desarrollo, pruebas y producción). En caso de que se modifiquen los permisos de OAuth, los usuarios deben repetir esta actividad.

  1. En la GUI de SAP, ingresa el código de transacción OA2C_GRANT. La página de acceso de SAP se abre en el navegador predeterminado.
  2. Accede con tus credenciales de SAP.
  3. Selecciona el ID de cliente con el que deseas acceder a las APIs.
  4. Haz clic en Solicitar tokens de OAuth 2.0.
  5. En la pantalla de consentimiento Acceder con Google, ingresa las credenciales de tu Cuenta de Google y haz clic en Permitir.

    Un indicador verde en la columna Estado de acceso indica que se permite el acceso a los recursos de la API según el perfil de cliente de OAuth 2.0.

Situación de varios proyectos de Google Cloud

Si habilitaste las APIs de Google Cloud en más de un proyecto de Google Cloud, sigue esta guía para configurar la autenticación con credenciales de cliente de OAuth 2.0:

Valida la configuración de autenticación

Para validar la configuración de autenticación, sigue estos pasos:

  1. En la GUI de SAP, ejecuta el código de transacción /GOOG/SDK_IMG.

    Como alternativa, ejecuta el código de transacción SPRO y, luego, haz clic en IMG de referencia de SAP.

  2. Haz clic en SDK de ABP para Google Cloud > Utilidades > Validar configuración de autenticación.

  3. Ingresa el nombre de la clave del cliente.

  4. Haz clic en Ejecutar para verificar si el flujo general se configuró correctamente.

    Una marca de verificación verde en la columna Resultado indica que todos los pasos de configuración se completaron de forma correcta.

Obtener asistencia

Si necesitas ayuda para resolver problemas con el SDK de ABAP para Google Cloud, haz lo siguiente: