Aplicando segurança na Web
Durante esse cenário nós utilizaremos o adapter de security do Devprime stack para ativar as configurações de segurança para quando houver uma solicitação de acesso ser requerido a autenticação do usuário em uma base centralizada do Keycloak.
Cheklist e preperação do ambiente inicial:
- Abra uma conta na plataforma Devprime e adquira uma licença (Developer/Enterprise).
- Instale uma versão atualizada do .NET (Linux, macOS e Windows)
- Instale e/ou atualize o Visual Studio Code e/ou o Visual Studio 2023 Community / Professional / Enterprise.
- Instale e/ou atualize o Docker (Para Windows, utilize o WSL2).
- Inicialize os containers do MongoDB e RabbitMQ no Docker e adicione a fila ‘orderevents’ no RabbitMQ.
- Instale e ative a versão mais nova do Devprime CLI.
- Crie uma pasta para os seus projetos e defina as permissões de leitura e gravação.
- Consulte o artigo “Criando o primeiro microsserviço” para explorar os primeiros passos na plataforma Devprime.
- Crie uma conta de Host no Auth0.com.
Criando um microserviço para utilizar no exemplo
O primeiro passo é criar um novo microsserviço para que possamos utilizar como modelo para publicar no host. O nome deste microsserviço será definido como “ms-order”, conforme demonstrado no comando abaixo.
- Criando o primeiro microsserviço
dp new ms-order --stream rabbitmq --state mongodb
- Adicionando uma regra de negócio de exemplo “Order”
dp marketplace order
- Inicializando e acelerando implementações do microsserviço
dp init
Após a criação do novo microsserviço entre na pasta do projeto “ms-order” e já poderá visualizar todas as implementações pelo Visual Studio Code conforme demonstrado no artigo relacionado a criação do primeiro microsserviço.
Após a conclusão é possivel executar o microsserviço. Depois finalize.
.\run.ps1 ou ./run.sh (Linux, macOS)
Aplicando configurações do Keycloak no microsserviço
As configurações de segurança na plataforma Devprime são aplicadas no Adapter de Security que no ambiente local fica no arquivo “src/App/appsettings.json” e nesse momento nós aplicaremos
os mesmos dados obitidos no portal ao Auth0.
Utilize os valores Domain, ClientId, ClientSecret obtidos em sua configuração no portal
do Auth0. Nesse cenário utilizaremos o EnableOIDC.
Apra pelo pelo Visual Studio Code:
code src/App/appsettings.json
|
|
Criando um interface web para utilizar no exemplo
Adicionando template Web para utilização na demonstração. Esse procedimento criará algumas páginas web para utilizarmos na demonstração.
dp add web login
Após executar teremos um novo endpoint chamado “/private” que já traz o atributo “Authorize” necessário para indicar que aquela url requer uma autenticação. O trecho do arquivo abaixo “src/Adapters/Web/Pages/Account.cs” demontra esse cenário
com as urls /private, /login e /logout.
Para visualizar pelo Visual Studio Code:
code src/Adapters/Web/Pages/Account.cs
|
|
Execute a aplicação e abra https://localhost:5001 para visualizar os novos links adicionados.
Próximos passos:
Você protegeu uma aplicação web utilizando o Keycloak e um microsserviço utilizando a plataforma Devprime. Parabéns🚀🚀🚀
Última modificação November 12, 2023 (8e3b4c7e)