Autenticação com Google em ASP.NET Core: Guia Passo a Passo

Autenticação com Google em ASP.NET Core

Em um cenário cada vez mais orientado para a segurança, a implementação de autenticação robusta é crucial para qualquer sistema. Com isso em mente neste guia prático, você aprenderá como integrar a autenticação com Google em um projeto ASP.NET Core, proporcionando uma experiência segura e intuitiva para os usuários.

Pré-requisitos

Antes de começarmos, assegure-se de ter o Visual Studio instalado e também uma conta de desenvolvedor ativa no Google Cloud Console.

Passo a passo

Passo 1: Criar um Projeto ASP.NET Core:

Abra o Visual Studio, crie um novo projeto ASP.NET Core Web API, escolhendo o modelo “API” e configurando conforme necessário.

Passo 2: Configurar Credenciais no Google Cloud Console:

  1. Acesse o Google Cloud Console.
  2. Crie ou selecione um projeto.
  3. Em “APIs e Serviços” > “Credenciais”, clique em “Criar Credenciais” e escolha “ID do Cliente OAuth”.
  4. Selecione o tipo de aplicativo da web e configure as URIs de redirecionamento autorizadas.
  5. Copie o ID e o Segredo do Cliente gerados.

Passo 3: Instalar Pacotes NuGet:

No projeto, instale os pacotes NuGet necessários:

dotnet add package Microsoft.AspNetCore.Authentication
dotnet add package Microsoft.AspNetCore.Authentication.Google

Passo 4: Configurar Autenticação no Startup.cs:

Abra o arquivo Startup.cs e configure os serviços de autenticação no método ConfigureServices:

codeservices.AddAuthentication(options =>
{
    options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
    options.DefaultChallengeScheme = GoogleDefaults.AuthenticationScheme;
})
.AddCookie()
.AddGoogle(options =>
{
    options.ClientId = "SEU_CLIENT_ID";
    options.ClientSecret = "SEU_CLIENT_SECRET";
});

Mude os campos “SEU_CLIENT_ID” e “SEU_CLIENT_SECRET” pelos valores que você pegou no Google Cloud Console.

Passo 5: Adicionar Autorização a um Controller:

Em um controller ou método que requer autenticação, adicione o atributo [Authorize]:

[Authorize]
[ApiController]
[Route("api/[controller]")]
public class SeuController : ControllerBase
{
    // Seu código aqui
}

Autenticação com Google em ASP.NET Core – Conclusão

Com estes passos, seu projeto ASP.NET Core está agora configurado para autenticação com as credenciais do Google. Ao acessar rotas protegidas, os usuários serão redirecionados para fazer login usando a autenticação do Google.

Lembre-se de proteger as suas credenciais do Google de uma forma adequada, então nada de deixar as credências expostas em repositórios públicos hein.

Este guia oferece uma base sólida, mas a segurança deve ser prioridade ao lidar com autenticação de API. Utilize essas práticas para criar um ambiente seguro e eficiente em seu aplicativo.

Quer mais dicas sobre dotnet? Confira os outros posts do blog.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *