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
Navegue para Google Cloud Console.
Se ainda não estiver logado, faça login com sua Conta Google.
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
, 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.
- 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 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 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 [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
...
- 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:
- 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
...
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
...
o token de atualização
...
para renovar o token de acesso sem pedir uma nova autenticação ao usuário.
...