Requisitos oAuth
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.

- 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 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.
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:
- O URI de redirecionamento é o URL onde o Google redirecionará o usuário após a autenticação.
- 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
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.
- 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.
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.
- 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 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.
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 consentimento.
- Clique em Conceder Consentimento Administrativo para as permissões definidas.
Configurar 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: https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/authorize
- Substitua
{tenant-id}
pelo ID do diretório (disponível na página "Visão Geral" do Azure AD). - Inclua no URL os parâmetros necessários, como o Client ID, escopos e o URI de Redirecionamento.
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.
Esse código de autorização pode então ser trocado por um token de acesso no endpoint de token da Microsoft: https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token
Usar o Token de Acesso
- Com o token de acesso obtido, você pode fazer chamadas autenticadas às APIs que você configurou permissões, como o Microsoft Graph.
- Se necessário, use o token de atualização para renovar o token de acesso sem pedir uma nova autenticação ao usuário.