...
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
- Vá ao Google Developers Console
- Clique em “Criar Projeto”, nomeie-o e clique em “Criar”.
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)
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
oufull_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.
- 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.
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 ou permissões de aplicativo.
- Após selecionar as permissões, clique em Adicionar Permissões.
Conceder Consentimento Administrativo (se necessário)
- Se você criou o aplicativo e é o administrador do Office365:
- Vá para Permissões de API no portal do Azure.
- Clique em Conceder consentimento administrativo para [Nome do aplicativo].
- Se você não for o administrador do Office365:
- Envie o seguinte link ao administrador, substituindo o client_id pelo ID do seu aplicativo:
O administrador deve abrir o link, revisar as permissões e, se concordar, conceder o consentimento.
...
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:
- Para um ambiente local de desenvolvimento (Desktop):
- Para uma aplicação web em produção:
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.
...