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é APIs e serviços ativados > +Ativar APIs e serviços.

Image Removed

  • Busque pela API que sua aplicação precisa usar (por exemplo, Google Drive API ou Gmail API).

Image Removed

  • Clique na API correspondente e, na página da API, clique em Ativar.

Image Removed

Configurar a Tela de Permissão OAuth

  • No menu lateral, clique em API e Serviços > Tela de permissão 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.

Image Removed

  • Complete os detalhes necessários:Clique em Salvar e Continuar após preencher todos os campos.

    • Nome da Aplicação.
    • E-mail de Suporte.

Image Removed

      • Domínios Autorizados (URLs da sua aplicação que vão interagir com o OAuth). 
        Image Removed

 

  • Escopos OAuth: Selecione os escopos que você deseja solicitar dos usuários. Isso define quais permissões você está pedindo (exemplo: acesso ao Gmail).

Image Removed

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.

Image Removed

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:

  • O URI de redirecionamento é o URL onde o Google redirecionará o usuário após a autenticação.

Clique em Criar.

Image Removed

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.

Image Removed

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

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

Image Removed

  • Gere a chave privada (formato JSON ou p12) e a use no seu código para autenticação.

Image Removed

 

Portal Azure

, 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 similares aos usados no Google Cloud Console. Aqui está o passo a passo:

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: Dê um nome à aplicação (ex.: "OAuth App").
    • Tipos de Conta Suportados: Escolha se o aplicativo será para contas da sua organização (apenas) ou para qualquer conta Microsoft (multi-tenant).
    • URI de Redirecionamento: Informe o URI de redirecionamento onde o usuário será enviado após a autenticação (ex.: https://minha-aplicacao.com/oauth2callback).
  • 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 (agindo em nome do usuário autenticado) ou  ou permissões de aplicativo (agindo como a própria aplicação, geralmente usado com contas de serviço).
  • Após selecionar as permissões, clique em Adicionar Permissões.

Image Added

Conceder Consentimento Administrativo (se necessário)

  • Se sua aplicação precisar de permissões que requerem consentimento de administrador (como permissões para toda a organização), você precisará conceder esse consentimentovocê criou o aplicativo e é o administrador do Office365:
    • Vá para Permissões de API no portal do Azure.
    • Clique em Conceder
    Consentimento Administrativo para as permissões definidas
    • consentimento administrativo para [Nome do aplicativo].
  • Se você não for o administrador do Office365: 

...

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

...

  • Certifique-se de que o URI de Redirecionamento está configurado corretamente para receber o token de autorização.
  • Esse URI deve ser idêntico ao que foi registrado na etapa de registro do aplicativo.

Testar o Fluxo OAuth

  • Agora, você pode começar a testar o fluxo OAuth.

  • Redirecione os usuários para o URL de autenticação OAuth da Microsoft: .

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

...

O usuário será redirecionado para a tela de login da Microsoft e, após a autenticação, o código de autorização será enviado para o URI de redirecionamento.

...

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

...

token de atualização

...

 para renovar o token de acesso sem pedir uma nova autenticação ao usuário.


 

...