Prenda suas APIs .NET 8 em minutos com o OpenIdDict: um guia minimalista

A API Security é não negociável, mas a implementação do OAuth 2.0 e o OpenID Connect geralmente podem parecer uma tarefa monumental, atolada por configurações complexas e código de caldeira. E se você pudesse configurar um servidor OIDC robusto e compatível com especificações para sua API .NET em apenas alguns minutos, com o código que se encaixa em uma única tela? É exatamente isso que me propus a fazer. Criei um servidor OpenIddict mínimo e independente que fornece uma base sólida para a autenticação baseada em token e publiquei o código-fonte completo no GitHub. Este guia o levará a como ele funciona e como você pode fazê -lo em menos tempo do que leva para preparar o café da manhã. Você pode encontrar o projeto completo e pronto aqui. Por que OpenIdDict? O poder de “No Magic” existem muitas soluções de identidade para .NET, mas o OpenIddict se destaca por sua filosofia “sem mágica”. É uma estrutura de baixo nível e altamente configurável que oferece controle total sobre o fluxo de autenticação. Em vez de ocultar a implementação por trás de camadas de abstração, ele fornece os blocos de construção essenciais, permitindo criar um servidor que seja poderoso e transparente. Este projeto abraça essa filosofia para criar um servidor API-primeiro com os principais recursos: OIDC & OAUTH 2.0 Compatiante: Sem atalhos, apenas segurança baseada em padrão. Os fluxos essenciais incluídos: suporta a senha, as credenciais do cliente e as subsídios de token de atualização prontos para uso. Mínimo e independente: toda a configuração está no programa.cs. Sem caça através de arquivos para entender o que está acontecendo. Teste instantâneo: vem com um cliente e usuário administrativo pré-semeado. A configuração principal: menos código, mais segurança O coração do servidor está no arquivo programa.cs. Ao encadear alguns métodos de configuração, podemos configurar todo o servidor OpenID Connect. Aqui está uma olhada no núcleo addOpenIdDict () Configuração: builder.services.addopeniddict () .addcore (/*… ef Core Setup …*/) .addServer (opções => {// 1. Ativar os tipos de concessão que você precisa de opções. .AddDevelopmentsIngingCertificate (); Digite o modo de saída do modo de tela cheia neste pequeno bloco de código, configuramos nossos pontos de extremidade, ativamos os fluxos específicos do OAuth 2.0, os escopos registrados e configuramos nossos certificados de desenvolvimento. É limpo, legível e incrivelmente eficiente. Execute-o em menos de um minuto colocar o servidor em execução em sua máquina é um processo simples de duas etapas. Restaurar dependências: DOTNET Restauração Digite Modo de tela cheia Modo de tela cheia Execute o servidor: o DOTNET Run Digite Modo de tela de tela cheia Modo de tela cheia é isso! Na primeira vez em que você o executa, um arquivo SQLite OpenIdDict.db é criado e o banco de dados é automaticamente semeado com um cliente de teste (Postman) e um usuário administrador (admin@test.com). Não é necessária uma configuração de banco de dados manual. Testando seus pontos de extremidade seguros para facilitar o teste, o projeto inclui um arquivo API.HTTP. Se você usar o código do Visual Studio com a extensão do cliente REST, poderá começar imediatamente a enviar solicitações. Veja como você solicitaria um token usando o fluxo de senha: # da api.http post-type: Application/x-www-form-urlencoded Grant_type = senha & client_id = Postman & client_secret = Postman-Secret &username=admin@test.com & senha = adminpassword123! & SCOPE = API OpenId Profile Digite Modo de tela cheia Modo de tela cheia Basta clicar em “Enviar solicitação” e você receberá um token de acesso ao vivo e um token de atualização. Conclusão: Sua base para APIs seguras Este servidor mínimo é o ponto de partida perfeito. Ele resolve o problema imediato e muitas vezes complexo de configurar um serviço de token seguro. A partir daqui, você pode estendê -lo facilmente para suportar mais fluxos, integrá -lo a um aplicativo front -end ou implantá -lo como uma autoridade central de autenticação para seus microsserviços. A construção de APIs seguras não precisa ser uma dor de cabeça. Com as ferramentas certas e uma abordagem limpa e mínima, você pode criar um sistema de autenticação robusto e transparente. Confira o repositório no Github, clone o código e veja por si mesmo!

Fonte

Você pode ter perdido