Requisitos OAuth (Web e Desktop)
Em algumas ferramentas que o OAuth foi implementado, 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.

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