4 razões para ter um Servidor de Identidades como seu primeiro Microsserviço

Um servidor de identidades é um artefato de sofware que centraliza os dados de usuários, bem como o processo para autorização, reduzindo a complexidade de desenvolvimento  enquanto melhora a experiência de uso.

Se você quer começar a escrever microsserviços e não sabe como, recomendo que considere escrever um servidor de identidades (usando IdentityServer4 ou não).

Neste post, compartilho algumas razões para isso.

Se tiver interesse em entender mais sobre microsserviços, recomendo que acesse o Guia de Conteúdo para Microsserviços deste site.

1. É extremamente útil

A grande maioria das aplicações comerciais utiliza algum mecanismo de autenticação e autorização de usuários.

Mesmo que você já tenha esse problema “resolvido”, é provável que você possa adicionar mais valor ao negócio modernizando a forma como os dados dos usuários são mantidos e atualizados.

Entre as vantagens naturais de se utilizar um servidor de autenticação podemos destacar:

  • Single Sign-on (evitando duplicação de código e dados)
  • Adoção de autorização baseada em Claims
  • Compatibilidade retroativa com modelos Role-Based
  • Aumento potencial da segurança dos dados
  • Adoção simplificada de serviços externos de autenticação (como Google, Facebook, etc)
  • Adequação a protocolos consagrados e amplamente aceitos, como OpenID e OAuth2

2. É um exemplo perfeito de microsserviço

Um bom servidor de identidades tem um propósito simples e claro: manter e fornecer dados de usuários devidamente autenticados, provendo informações adequadas para que cada aplicação implemente suas políticas de autorização.

Os dados armazenados pelo servidor de identidades podem e devem ser mantidos em um banco de dados dedicado a este propósito (como recomendado para microsserviços).

OAuth2 e OpenID são protocolos (potencialmente) implementáveis em praticamente todas as linguagens/frameworks disponíveis. Isso significa que você pode escrever seu microsserviço na tecnologia que considerar mais conveniente sem maiores implicações para o restante da sua base de código.

O servidor de identidades poderá ser mantido em repositório independente e poderá ser distribuído de forma indepentente também.

3. Você vai precisar de um mais cedo ou mais tarde

Se você for migrar para um modelo baseado em microsserviços, precisará garantir algum nível de segurança de acesso aos serviços.

Extraído de http://docs.identityserver.io/en/release/intro/big_picture.html

Ingenuamente, você pode ficar tentado a postergar a implementação de “segurança” para o último momento responsável. Entretanto, é importante que você saiba que o último momento responsável é exatamente o início do projeto.

4. Há ampla documentação disponível para você aprender

Mesmo que você não entenda nada sobre segurança, existem excelentes guias para implementação.

Se você utiliza .NET, comece “ontem” a estudar IdentityServer4. O material on-line disponível é muito bom. Mesmo assim, você precisará de algum tempo até se sentir confortável.

Próximos passos

Minha recomendação? Comece agora a seguir a documentação do IdentityServer4 e crie seu primeiro microsserviço útil. Você irá sentir algumas dificuldades, mas valerá a pena.

A propósito, recomendo que faça isso seguindo as recomendações que fiz outro dia.

Compartilhe este insight:

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Mais insights para o seu negócio

Veja mais alguns estudos e reflexões que podem gerar alguns insights para o seu negócio:

Are you designing Microservices? So, I would like to share a fascinating slide deck that I discovered recently. That comes...
Há alguns anos, cheguei, por acaso, a uma palestra do Simon Sinek no TED. Na época, ele ainda era um...
Na Guiando, os times já possuem certa maturidade com Scrum. Agora, com a adoção progressiva de princípios de Kanban estamos...
Anualmente, como Microsoft MVP & RD, participo de uma conferência global, organizada pela Microsoft, na sede da empresa em Redmond....
  Recently, I asked what would be the execution result of the following code: using System.Threading.Tasks; using static System.Console; class...
RavenDB utiliza Lucene como motor de indexação. Isso significa suporte natural a full-text search que pode ser facilmente habilitado a partir da...
× Precisa de ajuda?