A API Cloud OAuth (cloudoauth.googleapis.com) fornece troca de tokens e autenticação do OAuth 2.0 e do OpenID Connect (OIDC) para a federação de identidade de colaboradores.
A API Cloud OAuth autentica usuários do Google Cloud . Essa API
permite que seus aplicativos redirecionem os usuários para o endpoint de autorização
(https://auth.cloud.google/authorize) para receber códigos de autorização. Seus
aplicativos podem trocar credenciais externas, códigos de autorização ou
tokens de atualização por tokens de acesso OAuth 2.0 de curta duração e tokens de ID do OIDC.
A API é baseada nas especificações OAuth 2.0 Token Exchange (RFC 8693) e OAuth 2.0 Authorization Framework (RFC 6749).
Comparação com o Security Token Service
Historicamente,o
Security Token Service (sts.googleapis.com) do Google Cloud
lidava com a troca de tokens para a federação de identidade de colaboradores e
a federação de identidade da carga de trabalho.
A API Cloud OAuth é compatível com as mesmas trocas de token que o Security Token Service, mas é dedicada ao tráfego da federação de identidade de colaboradores. Essa separação isola as trocas de tokens de força de trabalho do tráfego de carga de trabalho, o que ajuda a evitar interrupções entre serviços e permite que a capacidade da força de trabalho seja escalonada de forma independente do Security Token Service. Dependendo do status da integração, siga estas diretrizes:
- Novas integrações: redirecione os usuários para o endpoint de autorização
(
https://auth.cloud.google/authorize) e troque tokens usando a API Cloud OAuth (cloudoauth.googleapis.com). - Integrações atuais: se você usa o Security Token Service
(
sts.googleapis.com/v1/oauthtokenousts.googleapis.com/v1/token), faça a transição paracloudoauth.googleapis.com.
Pontos de extremidade compatíveis
A tabela a seguir lista os endpoints usados nas integrações da API Cloud OAuth. A maioria desses endpoints tem escopo de organização (locatário único) e fornece gerenciamento e descoberta de chaves isolados quando o aplicativo cliente e os recursos são restritos a uma única organização do Google Cloud.
Nos URLs de endpoint com escopo da organização, substitua
ORGANIZATION_ID pelo ID numérico da organização do
Google Cloud:
| Endpoint | Método | URL | Descrição |
|---|---|---|---|
| Descoberta do OpenID Connect | GET |
https://auth.cloud.google/oidc/organizations/ORGANIZATION_ID/.well-known/openid-configuration
|
Retorna os metadados de configuração do provedor do OpenID Connect Discovery 1.0 (documento de descoberta) para a organização. |
| Autorização | GET |
https://auth.cloud.google/authorize |
Redireciona os usuários federados para fazer login com o provedor de identidade (IdP) e retorna um código de autorização para o URI de redirecionamento do aplicativo. |
| Troca de token | POST |
https://cloudoauth.googleapis.com/v1/organizations/ORGANIZATION_ID/token
|
Troca códigos de autorização ou tokens de atualização por tokens de acesso do OAuth 2.0 e tokens de ID do OIDC. |
| Conjunto de chaves da Web JSON (JWKS) | GET |
https://cloudoauth.googleapis.com/v1/organizations/ORGANIZATION_ID/.well-known/jwks.json
|
Retorna as chaves públicas JSON Web (JWKs) usadas para verificar as assinaturas dos tokens de ID do OIDC emitidos para a organização. |
| Informações do usuário | GET |
https://cloudoauth.googleapis.com/v1/organizations/ORGANIZATION_ID/userinfo
|
Recupera declarações padrão do OIDC, declarações de diretório personalizadas e associações de grupo para o usuário autenticado. |
| Grupos corporativos | GET |
https://cloudoauth.googleapis.com/v1/common/groups |
Recupera as associações paginadas de grupos empresariais do usuário autenticado. |
Endpoint de autorização
Em um fluxo de código de autorização do OAuth 2.0 e do OIDC, seu aplicativo redireciona
os usuários federados para o endpoint de autorização unificado do Google Cloud
(https://auth.cloud.google/authorize) para fazer login com o IdP. Depois
que a autenticação é concluída, o endpoint de autorização redireciona o usuário para o URI de redirecionamento
do aplicativo com um código de autorização. Em seguida, o aplicativo
troca esse código por tokens no
endpoint de troca de tokens.
Endpoints de descoberta do OIDC e JWKS
Para integrações do OIDC do Looker, a API Cloud OAuth fornece endpoints públicos, não autenticados e com escopo de organização para configuração do cliente e verificação de token:
- Endpoint de descoberta do OpenID Connect: fornece os metadados de configuração do provedor do OpenID Connect Discovery 1.0 (documento de descoberta) para a organização.
O documento de descoberta inclui o identificador
issuerda organização e os URLs de endpoint (authorization_endpoint,token_endpoint,userinfo_endpointejwks_uri). Ele também lista os escopos, as declarações, os algoritmos de assinatura (RS256) e os métodos de desafio de código (S256) da Proof Key for Code Exchange (PKCE) compatíveis. - Endpoint do conjunto de chaves da Web JSON (JWKS): fornece o
conjunto de chaves da Web JSON (JWKS) público para a
organização. Os aplicativos usam as chaves da Web JSON (JWKs) públicas na matriz
keyspara verificar a assinatura criptográfica de um token de ID do OIDC (id_token) emitido pela API Cloud OAuth.
Em uma integração típica do OIDC, seu aplicativo usa esses endpoints na seguinte sequência:
- Busque o documento de descoberta: envie uma solicitação
GETpara o endpoint de descoberta do OpenID Connect (/.well-known/openid-configuration) e leia os URLs do endpoint (authorization_endpoint,token_endpoint,jwks_urieuserinfo_endpoint). - Solicitar um código de autorização: redirecione o usuário para o
authorization_endpoint(https://auth.cloud.google/authorize) para fazer login com o IdP dele e receber um código de autorização no URI de redirecionamento do aplicativo. - Trocar o código de autorização por tokens: envie uma solicitação
POSTpara otoken_endpoint(/token) para trocar o código de autorização por um token de acesso do OAuth 2.0 e um token de ID do OIDC (id_token). - Verificar o token de ID: busque as chaves públicas da organização no
jwks_uri(/.well-known/jwks.json) e use-as para verificar a assinatura criptográfica doid_token. - Opcional: recuperar informações do usuário: envie uma solicitação
GETcom o token de acesso para ouserinfo_endpoint(/userinfo) para recuperar outras declarações de perfil de usuário e associações de grupo.
A seguir
- Trocar tokens com a API Cloud OAuth
- Recuperar informações do usuário com a API Cloud OAuth
- Recuperar grupos corporativos com a API Cloud OAuth
- Gerenciar aplicativos OAuth para federação de identidade de colaboradores
- Referência da API REST do Cloud OAuth