fbpx
Publicado em: terça-feira, 7 de set de 2021
OpenIdConnect Mock Server – Identity Server fake

Você já fez uma prova de conceito ou uma demonstração em que seria bem interessante testar com vários perfís, mas pensou duas vezes sobre o esforço de subir um Identity Server? Já se questionou quais alternativas teria e tentou de tudo não ter esse esforço? Pois bem, aconteceu comigo algumas vezes. Então saí em busca de uma solução…

Contexto

No curso de RabbitMQ estamos para entrar no cenário de Event Driven Architecture e por conta do contexto que escolhi (Casa de Cambio) eu preciso de 3 usuários com visões diferentes. Enquanto um transfere para o outro, um terceiro é responsável por aprovar esse fluxo, exercendo o papel de Banco Central, anti-fraude ou qualquer coisa que me faça demandar um rollback de várias etapas, para conseguir demonstrar sagas.

Em geral subtraímos muita coisa das demos, inclusive autenticação, perfis e segurança em geral. Mas isso pode gerar uma experiência confusa para o expectador, principalmente para aqueles que são mais visuais.

Um detalhe fora do lugar e temos o potencial de perder a atenção do aluno.

Uma estratégia para evitar isso é o minimalismo. Isolar o que é relevante e remover tudo que não está no contexto. Isso facilita muito, mas nesse contexto é preciso de usuários diferentes.

Enfim, tenho demandas no s 2 cursos e ainda tenho demandas para conteúdo cá pra fora.

Porque criar um projeto assim?

Uma das dores de cabeça em projetos com autenticação é lembrar as senhas, qual perfil faz o quê, etc. Com esse projeto eu customizei a tela de login para listar todos os usuários. Agora você não precisa digitar a senha, só escolher o usuário. E óbvio, esse não é o tipo de projeto para ser usado em produção né!? O papel dele não é entrar em produção, NUNCA. O papel desse projeto é suportar desenvolvedores e quem quer que precise demonstrar aplicações, fazer lives, fazer pocs, showcase etc.

De onde surgiu esse projeto?

O projeto é baseado no Identity Server 4, mas foi fork de um repo do github. Algumas coisas precisaram ser corrigidas, principalmente no que diz respeito ao uso do IConfiguration do ASP.NET.

Esse novo projeto facilita a criação de novas demos bem interessantes. E agora não perdemos mais tempo com login, esquecimento de senha, ter de buscar no lastpass, etc.

Links

Repositório do GitHub | https://github.com/luizcarlosfaria/OpenIdConnectMockServer

Projeto do qual criei o fork | https://github.com/Soluto/oidc-server-mock

Docker Hub https://hub.docker.com/r/luizcarlosfaria/oidc-mock-server

docker pull luizcarlosfaria/oidc-mock-server:latest

Quer testar?

Basta baixar o projeto, definir o docker-compose como startup project, colocar o visual studio para rodar e após a aplicação subir, navegar para https://localhost1.gago.io:13443/.

Se quiser testar só com a imagem, sem rodar o projeto .NET do OpenIdConnectMockServer, basta alterar o arquivo docker-compose.yaml conforme o código abaixo (comentando o build do projeto e trocando o nome da imagem).

version: '3.4'

services:
  identity_mock:
    image: luizcarlosfaria/oidc-mock-server:latest
    #build:
    #  context: .
    #  dockerfile: src/Dockerfile


  example:
    image: ${DOCKER_REGISTRY-}mvcwebapplicationexample
    build:
      context: .
      dockerfile: example/MVCWebApplicationExample/Dockerfile

Isso é o suficiente para ver como seria na sua aplicação.

0 comentários

Enviar um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Lives

Fique de olho nas lives

Fique de olho nas lives no meu canal do Youtube, no Canal .NET e nos Grupos do Facebook e Instagram.

Aceleradores

Existem diversas formas de viabilizar o suporte ao teu projeto. Seja com os treinamentos, consultoria, mentorias em grupo.