image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image
Rennan Aguiar
Rennan Aguiar15/08/2025 09:46
Share
Suzano - Python Developer #2Recommended for youSuzano - Python Developer #2

šŸ” Autenticação com JWT no Blazor Server de Forma Simples

  • #C#
  • #.NET
  • #.NET Core
  • #.NET C#
  • #JWT
  • #.NET 5

šŸ” Autenticação com JWT no Blazor Server de Forma Simples

Recentemente, precisei criar uma pÔgina de login para autenticar usuÔrios. Foi a primeira vez que implementei autenticação nas minhas aplicações e, como era em Blazor Server, precisei fazer algumas coisas de forma diferente por rodar no servidor usando WebSockets.

šŸ“„ 1. Recebendo o Token e Criando os Claims

O primeiro passo foi receber o token JWT enviado por outra API após o login. Para isso, criei um serviço chamado TokenServiceApi, com um método que consumia essa API a partir dos dados do usuÔrio que fez login e me retornava o token.

Dentro dele havia informaƧƵes do usuƔrio, como nome, permissƵes e outros dados importantes.

A ideia Ć© transformar essas informaƧƵes em Claims, uma espĆ©cie de ā€œlista de atributosā€ sobre o usuĆ”rio. Essa conversĆ£o Ć© importante porque Ć© a partir dos Claims que o Blazor sabe quem estĆ” logado e o que essa pessoa pode fazer no sistema.

šŸ†” 2. Gerando o User Identity

Com os Claims prontos, criei um User Identity, que nada mais Ć© do que o ā€œcartĆ£o de identificaçãoā€ do usuĆ”rio dentro da aplicação. Ɖ como se o sistema dissesse: ā€œOk, reconheƧo essa pessoa e sei quais sĆ£o suas permissƵes.ā€

šŸŖ 3. Criando Cookies no Navegador

Depois, precisei salvar essas informações no navegador para que o usuÔrio não precisasse se autenticar cada vez que recarregasse a pÔgina.

Para isso, gerei cookies contendo os Claims. Esses cookies funcionam como um ā€œpasseā€ que o navegador apresenta toda vez que o usuĆ”rio acessa uma nova pĆ”gina, confirmando que ele jĆ” fez login.

āš™ļø 4. ConfiguraƧƵes no Program e no Controller

Aqui vieram duas partes importantes:

No Program, configurei o sistema para verificar se o usuÔrio tinha o cookie. Se não tivesse, ele seria redirecionado para a tela de login. Também defini o tempo de expiração do cookie, ou seja, quanto tempo a sessão do usuÔrio ficaria ativa antes de precisar logar novamente.

No Controller, foi onde realmente criei e enviei o cookie para o navegador assim que o token JWT era validado.

šŸ›” 5. Criando o Authentication Provider

No Blazor Server, é útil ter um Authentication Provider personalizado. Ele é como uma central que guarda os dados do usuÔrio logado para serem usados em qualquer parte da aplicação.

🌐 6. Configurando o Router e o [Authorize]

No App.razor, ativei o Cascading Authentication State, que é necessÔrio para que as pÔginas possam reconhecer se o usuÔrio estÔ autenticado ou não.

Depois disso, bastou colocar o atributo [Authorize] nas pÔginas que deveriam ser restritas. Assim, só quem estÔ logado consegue acessar.

šŸ“„ 7. Usando os Dados do UsuĆ”rio na PĆ”gina

Por fim, para buscar mais informaƧƵes do usuƔrio, alƩm das que jƔ estavam no token, criei um mƩtodo que consultava outra API. Mas essa parte varia de projeto para projeto.

Quando precisei usar essas informaƧƵes, apenas injetei o Authentication Provider na pƔgina e consultei os Claims salvos.

Agora me fala aqui, jÔ usou autenticação com Blazor Server?

Share
Recommended for you
Avanade - Back-end com .NET e IA
GFT Start #7 .NET
Deal Group - AI Centric .NET
Comments (0)
Recommended for youSuzano - Python Developer #2