Vinculação de identidade: OAuth 2.0

Para ativar sessões de usuário sem problemas (por exemplo, acessar benefícios de fidelidade, ofertas personalizadas) e finalizações de compra autenticadas, implemente o recurso de vinculação de identidade usando o OAuth 2.0. Se você não implementar a vinculação de identidade, será necessário oferecer suporte ao pagamento como visitante.

Consulte sua equipe jurídica se tiver dúvidas sobre regulamentações de privacidade e práticas de consentimento.

Requisitos principais

  • Protocolo:implemente o fluxo de código de autorização do OAuth 2.0 (RFC 6749 2.3.1).
  • Autenticação do cliente:precisa oferecer suporte à autenticação básica HTTP (client_secret_basic) no endpoint de token.
  • Escopos:é necessário oferecer suporte aos escopos UCP padrão definidos nesta seção.
  • Descoberta:é necessário hospedar um arquivo de metadados em /.well-known/oauth-authorization-server (RFC 8414) para permitir que a plataforma descubra seus endpoints.

Escopos

Você precisa implementar o escopo a seguir, que concede permissão para todas as operações do ciclo de vida de finalização da compra (Get, Create, Update, Delete, Cancel, Complete).

  • Nome do escopo:ucp:scopes:checkout_session

Experiência do usuário:apresente os escopos solicitados como uma única tela de consentimento agrupada (por exemplo, "Permitir que o Google gerencie suas sessões de finalização de compra" em vez de ativar/desativar tecnicamente de forma granular.

Vinculação simplificada do Google

A Vinculação simplificada do Google é uma adição opcional ao OAuth 2.0 padrão. Ele usa declarações JWT para combinar verificações de intenção e troca de tokens no endpoint de token OAuth 2.0 (intenções check, create e get).

O Google Streamlined Linking é recomendado para uma experiência do usuário perfeita. Ele permite que os usuários vinculem contas ou criem novas contas usando o perfil do Google sem sair da interface do Google. Como o fluxo ocorre totalmente na interface do Google, não é necessário um front-end de vinculação. Isso reduz a sobrecarga de desenvolvimento, elimina os redirecionamentos do navegador e pode aumentar as taxas de conversão.

Metadados do servidor de autorização (exemplo em JSON)

Você precisa publicar esse objeto JSON em https://[your-domain]/.well-known/oauth-authorization-server

Exemplo:

{
  "issuer": "https://merchant.example.com",
  "authorization_endpoint": "https://merchant.example.com/oauth2/authorize",
  "token_endpoint": "https://merchant.example.com/oauth2/token",
  "revocation_endpoint": "https://merchant.example.com/oauth2/revoke",
  "scopes_supported": [
    "ucp:scopes:checkout_session"
  ],
  "response_types_supported": [
    "code"
  ],
  "grant_types_supported": [
    "authorization_code",
    "refresh_token"
  ],
  "token_endpoint_auth_methods_supported": [
    "client_secret_basic"
  ],
  "service_documentation": "https://merchant.example.com/docs/oauth2"
}