Autenticar nas APIs do Google Workspace usando as credenciais do cliente OAuth 2.0

Neste documento, mostramos como configurar a autenticação para acessar as APIs do Google Workspace usando as credenciais do cliente OAuth 2.0. Com as credenciais do cliente OAuth 2.0, é possível recuperar um token no contexto de um usuário final, como um token necessário para acessar as Planilhas Google. Independentemente de onde seu sistema SAP esteja hospedado, é possível usar as credenciais de cliente do OAuth 2.0 para fazer a autenticação nas APIs do Google Workspace, desde que o sistema seja compatível com o OAuth 2.0.

Para autenticar nas APIs do Google Workspace usando credenciais de cliente OAuth 2.0, você precisa concluir as seguintes configurações no seu projeto do Google Cloud e no seu cenário do SAP:

Configurações do console do Google Cloud

Configurações do modo paisagem do SAP

O ABAP SDK for Google Cloud é enviado com os seguintes componentes principais, que são necessários para a autenticação baseada em credenciais do cliente OAuth 2.0:

  • O tipo de provedor de serviços do OAuth 2.0 /GOOG/ABAP_SDK que você especifica para a configuração do perfil do cliente OAuth 2.0.
  • Classe de autenticação /GOOG/CL_OAUTH_GOOGLE que você especifica para a configuração da chave de cliente.
  • Implementações de complementos empresariais (BAdIs) do SAP que preenchem previamente parâmetros OAuth específicos do Google, como endpoints e configurações de parâmetros obrigatórios.

No entanto, você também precisa concluir as seguintes configurações no seu cenário do SAP:

A tela de consentimento OAuth é um prompt que informa aos usuários quem está solicitando acesso aos dados e quais tipos de dados eles estão permitindo que seu app acesse.

  1. No console do Google Cloud, acesse Menu  > APIs e serviços > Tela de permissão OAuth.

    Acessar a tela de permissão OAuth

  2. Selecione o tipo de usuário Externo do app e clique em Criar.

  3. Para preencher o formulário de registro do app, especifique os seguintes detalhes:

    • Nome do app: o nome do aplicativo que requer consentimento.
    • E-mail para suporte ao usuário: um e-mail para que os usuários entrem em contato com você para esclarecer dúvidas sobre o consentimento deles.
    • Domínios autorizados: os domínios que serão usados durante o consentimento do OAuth.
    • Dados de contato do desenvolvedor: os endereços de e-mail para que o Google notifique você sobre qualquer mudança no seu projeto.
  4. Clique em Save and continue.

Crie credenciais do ID do cliente OAuth 2.0

Para fazer a autenticação como usuário final e acessar os dados do usuário no app, crie um ou mais IDs do cliente OAuth 2.0. Um ID do cliente é usado para identificar um único app nos servidores OAuth do Google.

  1. No console do Google Cloud, acesse Menu  > APIs e serviços > Credenciais.

    Ir para Credenciais

  2. Clique em Criar credenciais > ID do cliente OAuth.

  3. No campo Tipo de aplicativo, selecione Aplicativo da Web.

  4. No campo Name, digite um nome para as credenciais. Esse nome é mostrado apenas no console do Google Cloud.

  5. Em URIs de redirecionamento autorizados, clique em Adicionar URI. Em seguida, insira o URI de redirecionamento do SAP ao qual o servidor OAuth 2.0 pode enviar respostas.

    Consiga o URI de redirecionamento da SAP nas configurações do OAuth 2.0 na sua transação SICF.

  6. Clique em Criar.

  7. Anote o ID do cliente e a Chave secreta do cliente.

Criar perfil de cliente OAuth 2.0

Como desenvolvedor do ABAP, você cria um perfil de cliente OAuth com os escopos do OAuth 2.0 necessários para seus requisitos de negócios. Para informações sobre os escopos do OAuth 2.0 para as APIs do Google, consulte Escopos do OAuth 2.0 para APIs do Google.

O SDK inclui um exemplo de perfil de cliente OAuth chamado /GOOG/OAUTH_PROFILE_SAMPLE. Esse perfil fornece escopos do OAuth 2.0 configurados para APIs do Google Workspace usadas com frequência, como o Drive e as Planilhas.

  1. Na GUI do SAP, insira o código da transação SE80.
  2. Na lista suspensa, selecione Objeto de desenvolvimento.
  3. Para criar um objeto de desenvolvimento no namespace personalizado, selecione Create > Others > OAuth 2.0 Client Profile em o menu de contexto do nome do objeto.
  4. Digite os seguintes detalhes:

    • No campo Perfil do cliente, digite o nome do perfil do cliente.
    • No campo Tipo, selecione /GOOG/ABAP_SDK. Esse é o tipo de provedor padrão fornecido com o SDK do ABAP para o Google Cloud.
  5. Adicione os escopos necessários ao perfil do cliente. Veja informações sobre os escopos do OAuth 2.0 em Escopos do OAuth 2.0 para APIs do Google.

  6. Salve o perfil do cliente no pacote de desenvolvimento. Inclua o perfil do cliente em uma solicitação de transporte, que pode ser transportada para ambientes mais altos.

Configurar o cliente OAuth 2.0

Como administrador do SAP, você associa o perfil do cliente OAuth às credenciais do cliente do Google Cloud.

Essa é uma atividade única que precisa ser realizada em todos os sistemas SAP no cenário SAP (desenvolvimento, teste e produção).

  1. Na GUI do SAP, insira o código da transação OA2C_CONFIG. A página de login do SAP é aberta no navegador padrão.
  2. Faça login com suas credenciais SAP.
  3. Para criar um cliente OAuth 2.0, clique em Criar.
  4. Na caixa de diálogo Criar um novo cliente OAuth 2.0, faça o seguinte:
    1. Selecione o perfil do cliente OAuth 2.0 criado anteriormente em Criar perfil de cliente OAuth 2.0 no seu sistema SAP.
    2. Insira um nome de configuração.
    3. Insira o ID do cliente OAuth 2.0 das credenciais do Google Cloud que você criou anteriormente em Criar credenciais do ID do cliente do OAuth 2.0.
    4. Clique em OK.
  5. Na guia Administração, na seção Configuração geral, insira a chave secreta do cliente das credenciais do Google Cloud que você criou anteriormente em Criar OAuth 2.0.
  6. Se você estiver usando um servidor proxy para rotear o tráfego HTTP/HTTPS de saída do sistema SAP, será necessário manter os seguintes detalhes do host de proxy na seção Configurações de acesso:

    • Host de proxy
    • Porta do proxy:
    • Usuário de proxy
    • Senha de proxy
  7. Clique em Save.

Configurar chave do cliente

  1. Na GUI do SAP, execute o código de transação /GOOG/SDK_IMG.

    Como alternativa, execute o código da transação SPRO e clique em IMG de referência do SAP.

  2. Clique em ABAP SDK for Google Cloud > Configurações básicas > Configurar chave do cliente.
  3. Clique em Novas entradas.
  4. Insira valores nos campos a seguir:

    Campo Descrição
    Nome da chave do Google Cloud Especifique um nome da configuração da chave do cliente.
    Nome da conta de serviço do Google Cloud Deixe esse campo em branco.
    Escopo do Google Cloud Deixe esse campo em branco.
    Identificador de projeto do Google Cloud Especifique o ID do projeto do Google Cloud que contém suas APIs de destino.
    Nome do comando Deixe esse campo em branco.
    Classe de autorização Especifique a classe de autenticação, /GOOG/CL_OAUTH_GOOGLE.
    Armazenamento de tokens em cache Deixe esse campo em branco.
    Token de atualização em segundos Deixe esse campo em branco.
    Parâmetro de autorização 1 Especifique o nome do perfil do cliente OAuth criado anteriormente em Criar um perfil de cliente OAuth 2.0 no seu sistema SAP.
    Parâmetro de autorização 2

    Especifique o nome da configuração definido no cliente OAuth 2.0 para um ID do cliente.

    Este campo é obrigatório se você tiver associado um único perfil de cliente OAuth a mais de um ID do cliente.

    Para mais informações, consulte Cenário de vários projetos do Google Cloud.

  5. Salve a nova entrada.

Solicitar tokens de acesso do OAuth 2.0

Como usuário final, você precisa solicitar um token de acesso do OAuth 2.0 para permitir o acesso aos recursos da API.

Essa é uma atividade única que cada usuário precisa executar em todos os sistemas SAP no seu cenário (desenvolvimento, teste e produção). Se os escopos do OAuth forem modificados, os usuários precisarão repetir essa atividade.

  1. Na GUI do SAP, insira o código da transação OA2C_GRANT. A página de login do SAP é aberta no navegador padrão.
  2. Faça login com suas credenciais SAP.
  3. Selecione o ID do cliente com que você quer acessar as APIs.
  4. Clique em Request OAuth 2.0 Tokens.
  5. Na tela de permissão Fazer login com o Google, insira as credenciais da sua Conta do Google e clique em Permitir.

    Um indicador verde na coluna Status de acesso indica que o acesso aos recursos da API é permitido de acordo com o perfil do cliente OAuth 2.0.

Cenário de vários projetos do Google Cloud

Se você ativou as APIs do Google Cloud em mais de um projeto do Google Cloud, siga estas orientações para configurar a autenticação usando as credenciais do cliente OAuth 2.0:

Validar a configuração da autenticação

Para validar a configuração da autenticação, execute as seguintes etapas:

  1. Na GUI do SAP, execute o código de transação /GOOG/SDK_IMG.

    Como alternativa, execute o código da transação SPRO e clique em IMG de referência do SAP.

  2. Clique em ABAP SDK for Google Cloud > Utilitários > Validar configuração de autenticação.

  3. Insira o nome da chave do cliente.

  4. Clique em Executar para verificar se o fluxo geral foi configurado.

    Uma marca de seleção verde na coluna Result indica que todas as etapas de configuração foram concluídas com êxito.

Receber suporte

Se você precisar de ajuda para resolver problemas com o ABAP SDK for Google Cloud, faça o seguinte: