Versões comparadas

Chave

  • Estas linhas foram adicionadas. Esta palavra foi adicionada.
  • Estas linhas foram removidas. Esta palavra foi removida.
  • Formatting was changed.

...

Requisitos OAuth (Web e Desktop)

Em algumas ferramentas que o OAuth foi implementado são exigidos alguns pré-requisitos essenciais para seu funcionamento, são eles conta serviço , ID de serviço e o arquivo da chave privada(arquivo p12). 

Esses campos são gerados pelo console google, esse documento tem o objetivo de mostrar como gerar cada requisito. 

Gerar requisitos pelo console google

Passo 1: Criar um projeto no Google Console

Passo 2: Criar uma conta de serviço

  • Vá para “APIs e Serviços” > “Credenciais” e clique em “Criar Credenciais” > “Conta de Serviço”.
  • Nomeie a conta e clique em “Concluído”.

Passo 3: Habilitar a delegação em toda a organização

  • Ao criar a conta de serviço, habilite a “Delegação em toda a organização” (Domain-wide Delegation).
  • Isso permite que a conta de serviço atue em nome de usuários dentro do domínio do Google Workspace.

Passo 4: Gerar chave privada

  • Na aba de “Credenciais”, clique na conta de serviço criada e em “Adicionar chave”.
  • Escolha o formato p12 (mais recomendado) e faça o download.

Passo 5: Configurar permissões no G Suite

  • Entre como administrador do G Suite e autorize o cliente OAuth (ID da conta de serviço) para agir em nome dos usuários.
  • Isso é feito no Admin Console do G Suite > “Segurança” > “Controles de API” > “Gerenciar delegação de acesso de cliente”.

Passo 6: Utilizar a conta de serviço

  • No seu código, use a conta de serviço gerada para autenticar e enviar e-mails via Gmail API.

 

Microsoft (Office 365 via OAuth)

No ecossistema Microsoft, OAuth é amplamente utilizado para integrar e autorizar o acesso a serviços como Microsoft 365, Azure, Outlook, entre outros.

Passo 1: Criar aplicativo no Azure AD

  • Vá ao portal do Azure.
  • Navegue até “Azure Active Directory” > “Registros de aplicativo” e clique em “Novo registro”.
  • Nomeie o aplicativo, escolha “Contas neste diretório” e clique em “Registrar”.

Passo 2: Configurar permissões

  • Vá em “Permissões de API” e adicione permissões para enviar e-mails via Exchange Online, como Mail.Send ou full_access_as_app para acesso completo.

Passo 3: Gerar ID de cliente e segredo do cliente

  • No aplicativo criado, vá até “Certificados e Segredos” e clique em “Novo segredo do cliente”.
  • Salve o valor gerado (este é o segredo do cliente).
  • O ID do aplicativo pode ser encontrado na página de “Visão Geral”.

Passo 4: Obter consentimento do administrador

  • Se o seu aplicativo for usado em uma organização, você precisará do consentimento do administrador do Office 365.
  • Isso pode ser feito através de um link especial de consentimento que o administrador deve aprovar.

Passo 5: Utilizar OAuth no código

...

, especialmente aquelas que são a nível de servidor, será necessário criar e configurar uma "conta de serviço". O processo para configurar uma aplicação web e uma aplicação desktop é parecido, com exceção de algumas etapas, que serão explicitamente diferenciadas neste manual. 

Table of Contents




Portal Azure - Microsoft (Web e Desktop)

...

 

Para gerar os requisitos para o OAuth no provedor Microsoft (Azure Active Directory), você precisará configurar uma aplicação no Azure Portal e seguir alguns passos:

Acessar o Azure Portal

  • Navegue para Azure Portal.
  • Faça login com sua conta Microsoft.

Criar um Novo Diretório ou Selecionar o Existente

  • No painel do Azure, selecione Azure Active Directory no menu lateral.
  • Se necessário, crie um novo diretório ou selecione um já existente.

Registrar um Aplicativo no Azure Active Directory

  • No menu lateral do Azure Active Directory, clique em Registros de Aplicativos.
  • Clique em Novo Registro.

Image Added

  • Preencha as informações necessárias:
    • Nome da Aplicação
    • Tipos de Conta Suportados
    • URI de Redirecionamento
  • Clique em Registrar.

Obter o ID do Aplicativo (Client ID)

  • Após registrar o aplicativo, vá para a página de Visão Geral.
  • O ID do Aplicativo (Client ID) será exibido, que é o equivalente ao "ID do Cliente" no Google.
  • Anote esse valor, pois será necessário para implementar o OAuth no código da sua aplicação.

Image Added

Criar um Segredo de Cliente 

  • No menu lateral do registro da aplicação, clique em Certificados e Segredos.
  • Na seção de Segredos de Cliente, clique em Novo Segredo de Cliente.

Image Added

  • Defina uma descrição e a validade do segredo (1 ano, 2 anos, etc.).
  • Após a criação, o Segredo de Cliente (Client Secret) será exibido apenas uma vez. Copie-o imediatamente, pois você precisará dele no código da aplicação.

Configurar Permissões de API (Escopos)

  • No menu lateral, clique em Permissões de API.
  • Clique em Adicionar uma Permissão.
  • Selecione Microsoft Graph (ou outra API que sua aplicação precise acessar).
  • Escolha as permissões necessárias (ex.: "User.Read" para ler o perfil do usuário).
  • Defina se essas permissões serão delegadas ou permissões de aplicativo.
  • Após selecionar as permissões, clique em Adicionar Permissões.

Image Added

Conceder Consentimento Administrativo (se necessário)

...

Configurar o URI de Redirecionamento 


  • Na página de detalhes do aplicativo, clique em "Authentication" no menu lateral esquerdo.
  • Na seção Redirect URIs, você verá um campo para inserir o URI de Redirecionamento.

Exemplos de URIs de redirecionamento:

No trecho abaixo, temos configurações relacionadas a uma aplicação Web, que não se aplicam se for uma aplicação Desktop:

...

Adicionar o URI de Redirecionamento (Web)


  • Clique no botão "Add a platform" (Adicionar uma plataforma).
  • Escolha a plataforma adequada (geralmente "Web" para aplicações web).
  • Na seção "Redirect URIs", insira o URI de redirecionamento.
  • Se houver mais URIs, você pode adicioná-los.

Salvar as Configurações

  • Depois de adicionar o URI, clique no botão "Save" no topo da página para salvar suas configurações.

Montar a Requisição de Autenticação (Web)

Para iniciar o fluxo OAuth, você precisará redirecionar o usuário para a URL de autorização da Microsoft: 

Substitua {tenant_id} pelo Directory ID que você copiou.

Parâmetros comuns:

  • client_id: O ID da aplicação (Client ID).
  • response_type: Geralmente será code para o código de autorização.
  • redirect_uri: O URI de redirecionamento configurado anteriormente.
  • scope: As permissões solicitadas, separadas por espaço (ex.: User.Read).
  • state: Um valor opcional para proteger contra falsificação de solicitação.

...

Trocar o Código de Autorização por um Token

Após o usuário conceder permissão e ser redirecionado para o URI de redirecionamento com um código de autorização, você pode fazer uma requisição POST para o token endpoint: 

Parâmetros da requisição POST:

  • client_id: O ID da aplicação.
  • grant_type: authorization_code.
  • code: O código de autorização recebido.
  • redirect_uri: O mesmo URI de redirecionamento usado na etapa anterior.
  • client_secret: A chave secreta da aplicação (gerada anteriormente).
  • scope: As permissões solicitadas (por exemplo, User.Read).

Testar o Token

Com o token de acesso retornado, você poderá fazer requisições autenticadas às APIs da Microsoft, como a Microsoft Graph.

Exemplo de requisição para obter detalhes do usuário autenticado: 

GET https://graph.microsoft.com/v1.0/me
Authorization: Bearer {access_token}

Se necessário, use o token de atualização para renovar o token de acesso sem pedir uma nova autenticação ao usuário.


 

...