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:
- Acesse o Google Cloud Console.
- Crie ou selecione um projeto.
- Em “APIs e Serviços” > “Credenciais”, clique em “Criar Credenciais” e escolha “ID do Cliente OAuth”.
- Selecione o tipo de aplicativo da web e configure as URIs de redirecionamento autorizadas.
- 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.