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), para provedor Google, para provedores microsoft temos os seguintes requisitos: ID do cliente e segredo do cliente.  

Os requisitos podem ser gerados pelo console Google quando o e-mail usado for um e-mail do provedor e também pelo portal da Azure quando o e-mail for microsoft.

Console Google

No Google Cloud Console, o OAuth é configurado para autenticar e autorizar usuários ou sistemas em APIs do Google ou em serviços de terceiros. Aqui estão os passos principais para configurar o OAuth no Google Cloud Console:

Acessar o Google Cloud Console

Criar um Novo Projeto

  • No painel do Google Cloud Console, clique no ícone de seleção de projetos no topo da página.
  • Clique em Novo Projeto.
  • Nomeie o projeto (por exemplo, "OAuth Project").
  • Clique em Criar.

Habilitar a API Necessária

  • No menu lateral, vá até API e Serviços > Biblioteca.
  • Busque pela API que sua aplicação precisa usar (por exemplo, Google Drive API ou Gmail API).
  • Clique na API correspondente e, na página da API, clique em Ativar.

Configurar a Tela de Consentimento OAuth

  • No menu lateral, clique em API e Serviços > Tela de consentimento OAuth.

  • Escolha entre os tipos de usuários:

    • Interno: Apenas disponível para usuários do Google Workspace dentro da sua organização.
    • Externo: Disponível para qualquer pessoa com uma Conta Google.
  • Complete os detalhes necessários:Clique em Salvar e Continuar após preencher todos os campos.

    • Nome da Aplicação.
    • E-mail de Suporte.
    • Domínios Autorizados (URLs da sua aplicação que vão interagir com o OAuth).
    • Escopos OAuth: Selecione os escopos que você deseja solicitar dos usuários. Isso define quais permissões você está pedindo (exemplo: acesso ao Gmail).

Criar Credenciais OAuth

  • No menu lateral, vá para API e Serviços > Credenciais.
  • Clique no botão Criar Credenciais e selecione ID do Cliente OAuth.
  • Escolha o tipo de aplicativo:
    • Aplicativo Web: Se a sua aplicação for uma aplicação web.
    • Outros: Se for um serviço ou aplicação desktop.
  • Se for Aplicativo Web, forneça o(s) URI(s) de redirecionamento autorizados:
  • Clique em Criar.

Obter o ID do Cliente e Chave Secreta

  • Após a criação das credenciais, você verá uma tela com o ID do Cliente e a Chave Secreta.
  • Copie essas credenciais ou faça o download delas para usar no código da sua aplicação.

Gerar e Configurar o Token de Acesso

  • Use o ID do Cliente e a Chave Secreta para redirecionar os usuários ao endpoint de autenticação do Google e obter o token de autorização.
  • Troque o token de autorização por um token de acesso. Esse token será usado para fazer requisições às APIs autorizadas.

Usar o Token de Acesso

  • No código da sua aplicação, use o token de acesso para fazer chamadas autenticadas à API ativada (por exemplo, Gmail API, Drive API, etc.).
  • O token de atualização também será gerado, permitindo que você obtenha novos tokens de acesso sem que o usuário precise autenticar novamente.

Criar uma Conta de Serviço

  • Se você precisa de uma conta de serviço para atuar em nome de usuários dentro de um domínio Google Workspace, siga estes passos adicionais:
    • Vá para API e Serviços > Credenciais e clique em Criar Credenciais > Conta de Serviço.
    • Nomeie a conta e conclua o processo de criação.
    • Ative a delegação em toda a organização (Domain-wide Delegation) se necessário, para que a conta de serviço possa atuar em nome de usuários dentro da organização.
    • Gere a chave privada (formato JSON ou p12) e a use no seu código para autenticação.

 

Portal Azure

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

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”.

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.

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”.

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.

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.


 

...