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.
- Especificação:a implementação precisa seguir os requisitos para vinculação simplificada.
- Padrões:embora extraia conceitos da RFC 7523, ela difere para aumentar a segurança.
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"
}