Autenticar usuarios

Si tu aplicación gestiona solicitudes de usuarios, es recomendable restringir el acceso solo a los usuarios permitidos. Normalmente, los usuarios no tienen permiso de gestión de identidades y accesos en tu Google Cloud proyecto o servicio de Cloud Run.

Distinguimos dos tipos de usuarios:

  • Usuarios finales: usuarios de tu aplicación que no tienen por qué pertenecer a tu organización. Normalmente, deben registrar una cuenta.
  • Usuarios internos: usuarios a los que un administrador de tu organización les ha concedido acceso explícito a tu aplicación. Normalmente, pertenecen a tu organización.

Autenticar usuarios finales

Si quieres autenticar a los usuarios con correo electrónico y contraseña, número de teléfono, proveedores de redes sociales como Google, Facebook o GitHub, o un mecanismo de autenticación personalizado, puedes usar Identity Platform. Usar Firebase Authentication es similar a usar Identity Platform.

Necesitas una aplicación web o móvil pública que gestione el flujo de inicio de sesión y, a continuación, haga llamadas a la API autenticadas a un servicio de Cloud Run. Esta aplicación web pública se puede alojar en un servicio público de Cloud Run.

Para ver un tutorial completo sobre cómo usar Identity Platform para la autenticación de usuarios finales, consulta el tutorial Autenticación de usuarios finales para Cloud Run.

  1. Añade código a tu servicio de Cloud Run para verificar tokens de ID.

  2. Despliega tu servicio de Cloud Run públicamente.

  3. Configurar Identity Platform en un proyecto

  4. En su sitio web o aplicación móvil, haga lo siguiente:

    1. Usa la biblioteca de cliente de autenticación de Firebase adecuada para obtener un token de ID:
    2. Incluye el token de ID en una cabecera Authorization: Bearer ID_TOKEN en la solicitud al servicio.

Puede usar cualquiera de los siguientes métodos para acceder a la información del perfil de usuario:

Para ver un tutorial completo de una aplicación que usa esta técnica de autenticación, consulta el tutorial sobre la autenticación de usuarios finales en Cloud Run.

Autenticar usuarios internos

Para la autenticación de usuarios internos, usa Identity-Aware Proxy.

Para configurar Identity-Aware Proxy en un servicio de Cloud Run, consulta Configurar Identity-Aware Proxy en Cloud Run.

En el caso de las solicitudes de uso compartido de recursos entre dominios (CORS) con autenticación previa y servicios de Cloud Run autenticados, te recomendamos que configures IAP para Cloud Run en lugar de usar la autenticación de IAM. Esto te permite configurar IAP para permitir solicitudes OPTIONS no autenticadas, lo que satisface la comprobación previa del navegador y, al mismo tiempo, asegura que todas las demás solicitudes estén autenticadas.

Aunque IAP permita la solicitud OPTIONS, el código de la aplicación que implementes en Cloud Run debe gestionar la solicitud preparatoria de CORS y la solicitud real que le sigue enviando los encabezados de CORS adecuados.

Para saber cómo autenticar usuarios o cuentas de servicio en un servicio de Cloud Run protegido por Identity-Aware Proxy mediante OAuth 2.0, consulta la documentación sobre autenticación programática.