La API de OAuth de Cloud (cloudoauth.googleapis.com) proporciona intercambio de tokens y autenticación de OAuth 2.0 y OpenID
Connect (OIDC) para
la federación de identidades de personal.
La API de OAuth de Cloud autentica a los usuarios de Google Cloud . Esta API
permite que tus aplicaciones redireccionen a los usuarios al extremo de autorización
(https://auth.cloud.google/authorize) para obtener códigos de autorización. Luego, tus
aplicaciones pueden intercambiar credenciales externas, códigos de autorización o
tokens de actualización por tokens de acceso de OAuth 2.0 y tokens de ID de OIDC de corta duración.
La API se basa en las especificaciones de Intercambio de tokens de OAuth 2.0 (RFC 8693) y Marco de autorización de OAuth 2.0 (RFC 6749).
Comparación con el Servicio de tokens de seguridad
Históricamente,el Servicio de tokens de seguridad (sts.googleapis.com) de Google Cloud
controlaba el intercambio de tokens para la federación de identidades de personal y
la federación de identidades para cargas de trabajo.
La API de OAuth de Cloud admite los mismos intercambios de tokens que el servicio de tokens de seguridad, pero se dedica al tráfico de la federación de identidades de personal. Esta separación aísla los intercambios de tokens de la fuerza laboral del tráfico de las cargas de trabajo, lo que ayuda a evitar interrupciones entre servicios y permite que la capacidad de la fuerza laboral escale de forma independiente del Servicio de tokens de seguridad. Según el estado de tu integración, sigue estos lineamientos:
- Integraciones nuevas: Redirige a los usuarios al extremo de autorización
(
https://auth.cloud.google/authorize) y, luego, intercambia tokens con la API de OAuth de Cloud (cloudoauth.googleapis.com). - Integraciones existentes: Si usas el Servicio de tokens de seguridad
(
sts.googleapis.com/v1/oauthtokenosts.googleapis.com/v1/token), realiza la transición acloudoauth.googleapis.com.
Extremos compatibles
En la siguiente tabla, se enumeran los extremos que usas en las integraciones de la API de OAuth de Cloud. La mayoría de estos extremos tienen un alcance de organización (usuario único) que proporcionan administración y descubrimiento de claves aislados cuando tu aplicación cliente y tus recursos están restringidos a una sola organización de Google Cloud.
En las URLs de extremos con alcance de organización, reemplaza
ORGANIZATION_ID por el ID de organización numérico de tu
Google Cloud:
| Extremo | Método | URL | Descripción |
|---|---|---|---|
| Detección de OpenID Connect | GET |
https://auth.cloud.google/oidc/organizations/ORGANIZATION_ID/.well-known/openid-configuration
|
Devuelve los metadatos de configuración del proveedor de OpenID Connect Discovery 1.0 (documento de descubrimiento) para la organización. |
| Autorización | GET |
https://auth.cloud.google/authorize |
Redirecciona a los usuarios federados para que accedan con su proveedor de identidad (IdP) y devuelve un código de autorización al URI de redireccionamiento de tu aplicación. |
| Intercambio de tokens | POST |
https://cloudoauth.googleapis.com/v1/organizations/ORGANIZATION_ID/token
|
Intercambia códigos de autorización o tokens de actualización por tokens de acceso de OAuth 2.0 y tokens de ID de OIDC. |
| Conjunto de claves web JSON (JWKS) | GET |
https://cloudoauth.googleapis.com/v1/organizations/ORGANIZATION_ID/.well-known/jwks.json
|
Devuelve las claves web JSON (JWK) públicas que se usan para verificar las firmas de los tokens de ID de OIDC emitidos para la organización. |
| Información del usuario | GET |
https://cloudoauth.googleapis.com/v1/organizations/ORGANIZATION_ID/userinfo
|
Recupera las reclamaciones estándar de OIDC, las reclamaciones de directorio personalizadas y las membresías de grupo del usuario autenticado. |
| Grupos empresariales | GET |
https://cloudoauth.googleapis.com/v1/common/groups |
Recupera las membresías paginadas de grupos empresariales del usuario autenticado. |
Extremo de autorización
En un flujo de código de autorización de OAuth 2.0 y OIDC, tu aplicación redirecciona
a los usuarios federados al extremo de autorización unificado de Google Cloud
(https://auth.cloud.google/authorize) para que accedan con su IdP. Después de que la autenticación se realiza correctamente, el extremo de autorización redirecciona al usuario al URI de redireccionamiento de tu aplicación con un código de autorización. Luego, tu aplicación
intercambia este código por tokens en el
extremo de intercambio de tokens.
Extremos de descubrimiento de OIDC y JWKS
En el caso de las integraciones de OIDC de Looker, la API de OAuth de Cloud proporciona extremos públicos sin autenticación con alcance de organización para la configuración del cliente y la verificación de tokens:
- Extremo de descubrimiento de OpenID Connect: Proporciona los metadatos de configuración del proveedor de OpenID Connect Discovery 1.0 (documento de descubrimiento) para la organización.
El documento de descubrimiento incluye el identificador
issuerde la organización y las URLs de los extremos (authorization_endpoint,token_endpoint,userinfo_endpointyjwks_uri). También enumera los permisos, las reclamaciones, los algoritmos de firma (RS256) y los métodos de desafío de código de la clave de prueba para el intercambio de código (PKCE) admitidos (S256). - Extremo del conjunto de claves web JSON (JWKS): Proporciona el
conjunto de claves web JSON (JWKS) público para la
organización. Las aplicaciones usan las claves web JSON (JWK) públicas en el array
keyspara verificar la firma criptográfica de un token de ID de OIDC (id_token) emitido por la API de OAuth de Cloud.
En una integración típica de OIDC, tu aplicación usa estos extremos en la siguiente secuencia:
- Recupera el documento de descubrimiento: Envía una solicitud
GETal extremo de descubrimiento de OpenID Connect (/.well-known/openid-configuration) y lee las URLs de los extremos (authorization_endpoint,token_endpoint,jwks_uriyuserinfo_endpoint). - Solicita un código de autorización: Redirecciona al usuario al
authorization_endpoint(https://auth.cloud.google/authorize) para que acceda con su IdP y reciba un código de autorización en el URI de redireccionamiento de tu aplicación. - Intercambia el código de autorización por tokens: Envía una solicitud
POSTaltoken_endpoint(/token) para intercambiar el código de autorización por un token de acceso de OAuth 2.0 y un token de ID de OIDC (id_token). - Verifica el token de ID: Recupera las claves públicas de la organización desde el
jwks_uri(/.well-known/jwks.json) y úsalas para verificar la firma criptográfica delid_token. - Opcional: Recupera la información del usuario: Envía una solicitud
GETcon el token de acceso aluserinfo_endpoint(/userinfo) para recuperar reclamaciones adicionales del perfil de usuario y membresías de grupos.
¿Qué sigue?
- Intercambia tokens con la API de OAuth de Cloud
- Recupera información del usuario con la API de OAuth de Cloud
- Recupera grupos empresariales con la API de OAuth de Cloud
- Administra aplicaciones de OAuth para la federación de identidades de personal
- Referencia de la API de REST de OAuth de Cloud