Executando verificação de segurança...
2

Onde consigo aprender sobre autenticação no Aspnet ?

Construí um app de To-Do list em Apsnet/C# monolítico e estou querendo colocar autenticação nele. Porém é um assunto que tenho zero conhecimento. Procurei algum tutorial no Microsoft Learn. Achei um que usava Identity, mas gerava com o codegenerator facilmente uns 30 razor pages. Além deu não ter entendido boa parte, se eu colocasse isso no meu projeto, teria mais arquivos para autenticação do que para lógica do projeto em si. Creio que tenha algo mais simples, porém não achei muita coisa fora isso. Alguém teria alguma indicação de onde eu poderia aprender sobre autenticação no aspnet ? Não tem problema ser for em inglês.

Carregando publicação patrocinada...
4

Infelizmente o Microsoft Learn é relativamente complexo para iniciantes em geral. Acho que criador de conteúdo brasileiro em .NET os melhores são o André Baltieri (balta.io) e o Renato Groffe (Medium), ambos possuem conteúdos no YouTube, LinkedIn e em outros lugares, mas como na maioria das coisas na nossa área, encontramos muito mais conteúdo estrangeiro.

Vou recomendar uma playlist e uma bilioteca que podem te ajudar.

A playlist é bem completa e aborda muita coisa sobre autorização e autenticação, incluindo o ASP.NET Identity. A biblioteca abstrai a configuração em .NET para o Keycloak, que é um serviço auto hospedado de autenticação muito utilizado.

Existem muitos criadores de conteúdo em .NET como Macoratti e outros gringos, recomendo o Milan, mas te instigo a procurar mais.

Boa jornada, stay awesome!

1

Essa playlist parece ter bastante coisa sobre autenticação mesmo, acho que vai me servir muito. Vou dar uma olhada na biblioteca também. Obrigado!

2

Padrão Microsoft

A empresa empenha bastante esforços para determinar um padrão no AspNet. Se você veio do Node.js assim como eu, você vai notar que as formas de desenvolver no C# tendem (mas não se limitam) a seguir um padrão predeterminado pela Microsoft.

Qual caminho trilhar?

Eu acho interessante seguir o padrão imposto pela Microsoft, use o Identity, exclua as páginas que não irão fazer parte do seu projeto e modifique o que for necessário. Adapte seu projeto ao padrão e tente repensar em como as coisas são feitas, como a API do AspNet funciona e pesquise o que fazer/não fazer.

Modificações no Identity

Modificar o Identity pode ser uma tarefa complicada, acontece que a API por padrão não é totalmente extensível e muitas das coisas foram feitas para não serem modificadas mesmo. Eu tive um problema recente ao usar o Blazor com ASP.NET 8 e Identity, foi mais fácil mudar de MySQL para PostgreSQL do que fazer com que o Identity funcionasse com o banco, foi mais fácil aderir ao Entitiy Framework do que fazer com o Identity funcionasse sem o mesmo e até mesmo os campos das tabelas geradas foi um grande problema e acabou que não foi possível modificar.

Note que com base no meu relato, nós acabamos modificamos a maneira em que estavamos tentando resolver o problema para utilizar o Identity, e no nosso caso, por se tratar do Blazor, estávamos amarrados ao Identity.

Escolha

Se optar em não escolher o Identity, lembre-se no impacto de implementar autenticação no braço ou usar uma solução pouco difundida e como isso pode ser perigoso para aplicações comerciais. Todos os dias temos diversas falhas zero-day's e isso deveria ser enxergado com um olhar sensato.

Se adaptar sua ideia de projeto ao Identity, e, consequentemente ao EF e seu padrão arquitetural (tanto no banco quanto no código), talvez, mas só talvez mesmo, C# AspNet não seja a escolha ideal para seu projeto.

Mesmo assim, sugiro insistir na tecnologia, fortalecer os seus conhecimentos e pesquisar bastante sobre pois será de grande benefício para sua carreira.

E ahhh, é claro, os links:

Não deixe de aprender no processo,
Abraços e boa sorte na empreitada!

1
2
2
1
1

O baltieri eu já conhecia e infelizmente eu não achei conteúdo dele sobre autenticação :C. Mas não conhecia esses outros, vou dar uma olhada. Obrigado!