- Você não precisa implementar seu próprio esquema de autenticação.
- Você pode obter o nome e as informações de contato dos usuários facilmente.
- Você pode usar as mesmas credenciais para acessar os recursos do Google dos usuários, como Sheets e Drive.
Introdução ao OAuth
A autenticação do Google é baseada no padrão OAuth. O funcionamento do OAuth é o seguinte:- Em algum lugar do seu site, você direciona o usuário para uma página de login.
- Quando ele vai à página de login, você não implementa o formulário de login no seu site, mas sim redireciona para o serviço de login do Google para autenticar o usuário.
- Quando o serviço de login do Google autentica o usuário com sucesso, ele redireciona de volta para o seu site em uma URL predefinida de sua escolha, como
https://YOUR_DOMAIN/oauth2callback, enviando algumas informações pertinentes ao usuário e à sessão de login. - Você usa as informações de login do usuário para obter um token de acesso, que é como um passe que você pode usar para acessar os recursos do usuário, como informações de perfil, planilhas, documentos e muito mais.
OAuth: Mostre-me o código
Se você é como eu, a primeira coisa que quer é código funcionando. O código abaixo é o que você precisa. No entanto, você precisará configurar algumas coisas no seu Google Cloud Console para que tudo funcione. Isso será abordado na próxima seção. Crie um novo App no Replit usando o template Flask e coloque o seguinte nomain.py. Os comentários no código explicam o que as partes individuais fazem:
Configure seu App OAuth / Client
Para colocar o código acima em funcionamento, você precisará fazer estas coisas no Google Cloud.- Criar um projeto no Google Cloud (se ainda não tiver um).
- Configurar a tela de consentimento OAuth.
- Criar um ID de cliente OAuth para o seu app.
Criar um projeto no Google Cloud
Se você já tiver um projeto no Google Cloud que deseja usar para este exercício, pode pular esta etapa.- Acesse o Google Cloud Console
- Clique no seletor de projeto ao lado do logotipo do Google Cloud:

- Selecione um projeto existente ou clique em “New Project” para criar um novo projeto.

- Se estiver criando um novo projeto, insira um nome para o projeto e clique em “Create”.

Configurar a tela de consentimento OAuth
Agora que você tem um projeto, pode configurar a tela de consentimento OAuth para ele:- Acesse a Tela de Consentimento OAuth

- Certifique-se de que o projeto no menu suspenso de projetos é o que você deseja.
- Selecione “External” para permitir que qualquer usuário faça login no seu app com uma conta do Google. “Internal” permitirá apenas pessoas da sua organização.
- Clique em “Create”.
- Insira um nome para o app e o e-mail da pessoa responsável por ele (você?)

- Insira um endereço de e-mail em “Developer contact information”.

- Clique em “Save and continue”.
- Na tela de Escopos, você pode adicionar as APIs às quais deseja que seu app tenha acesso. Você já tem acesso às APIs para obter informações básicas do usuário.




Criar um ID de cliente OAuth para o seu app
Esta é a última parte. Para que o OAuth funcione, você precisa criar um ID de cliente OAuth para o app.- Acesse Credenciais.

- Clique em “Create credentials”


- Agora, acesse seu App Flask no Replit. Abra o shell e insira:
echo https://$REPLIT_DEV_DOMAIN/oauth2callback. O resultado será algo como:https://81309e9b-c4df-48e0-a2c2-0a8d3c0e3162-00-35ppsa0tcuv6v.infra-staging.replit.dev/oauth2callback. Copie este texto e insira-o como uma das “Authorized redirect URIs” na parte inferior do formulário

https://YOUR_APP_DOMAIN/oauth2callback
- Clique em “Create”
- Clique em “Download JSON”:

- Acesse seu App no Replit novamente e abra o painel de Secrets. Crie um segredo chamado
GOOGLE_OAUTH_SECRETSe cole o conteúdo do arquivo baixado como valor do segredo.

Configuração da API do Google Sheets
Para adicionar uma integração com uma API do Google, como o Google Sheets, primeiro você precisa habilitar a API para o app. Você pode navegar pelas APIs disponíveis. Como exemplo, usaremos o Google Sheets.- Acesse a página de listagem da API do Google Sheets.
- Clique em “Enable”.
Integração com o Google Sheets: Mostre-me o código
Primeiro, na seção de fluxo OAuth do código original, deixamos tudo igual, exceto pela adição de"https://www.googleapis.com/auth/spreadsheets.readonly" à lista de escopos:
[… blocos de código completos preservados como estão …]
Lembre-se, se você publicar o app, certifique-se de:
- Adicionar a URI
/oauth2callbackde produção às “Authorized redirect URIs”. - Acessar a página de consentimento e clicar em “Publish App”.