Cómo autenticar usuarios

Si tu aplicación controla solicitudes de usuarios, se recomienda restringir el acceso solo a los usuarios permitidos. Por lo general, los usuarios no tienen permisos de IAM en tu proyecto de Google Cloud o en el servicio de Cloud Run.

Distinguimos dos tipos de usuarios:

  • Usuarios finales: Son los usuarios de tu aplicación que no necesariamente pertenecen a la organización. Por lo general, necesitan registrar una cuenta para ellos mismos.
  • Usuarios internos: Son los usuarios a quienes un administrador de la organización les otorga acceso a la aplicación de forma explícita y que, por lo general, pertenecen a tu organización.

Autentica a los usuarios finales

Si quieres autenticar usuarios mediante 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. El uso de Firebase Authentication es similar al de Identity Platform.

Necesitas una app web o para dispositivos móviles pública que controle el flujo de acceso y, luego, realice llamadas autenticadas a la API en un servicio de Cloud Run. Esta app web pública se puede alojar en un servicio público de Cloud Run.

Si deseas obtener un instructivo completo sobre el uso de Identity Platform para la autenticación de usuarios finales, consulta el instructivo Autenticación de usuarios finales en Cloud Run.

  1. Agrega código a tu servicio de Cloud Run para verificar tokens de ID.

  2. Implementa tu servicio de Cloud Run de forma pública.

  3. Configura Identity Platform en tu proyecto

  4. Haz lo siguiente en tu app web o para dispositivos móviles:

    1. Usa la biblioteca cliente de Firebase Auth para obtener un token de ID:
    2. Incluye el token de ID en un encabezado Authorization: Bearer ID_TOKEN en la solicitud al servicio.

Si quieres acceder a la información del perfil del usuario, puedes usar el SDK de Firebase Admin para recuperar los datos del usuario.

Para obtener una explicación completa de una aplicación que use esta técnica de autenticación, sigue el Instructivo del usuario final para Cloud Run.

Autentica usuarios internos

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

Si deseas configurar Identity-Aware Proxy para un servicio de Cloud Run existente, consulta la documentación sobre cómo habilitar Identity-Aware Proxy para Cloud Run.

Si deseas obtener instrucciones para autenticar usuarios o cuentas de servicio en un servicio de Cloud Run protegido con Identity-Aware Proxy mediante OAuth 2.0, consulta la documentación para la Autenticación programática.