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:

Na Guiando, a área de Implantação também está adotando Kanban (Não ficamos restritos ao desenvolvimento). Começando por lá, resolvemos adotar...
07 de julho de 2016, aproximadamente 8:30 – Eu iria palestrar no TDC de São Paulo naquele dia. Aterrizamos em...
Neste post, compartilho um exemplo de implementação para um algoritmo extremamente famoso e importante: O algoritmo de Dijkstra. Trata-se de...
Neste post, vamos escrever um Storage Provider para ASP.NET Core Identity, do zero, utilizando RavenDB como mecanismo de persistência. O...
Retomar em plenitude todas as atividades econômicas, aumentando o risco de contágio pelo novo coronavírus e, eventualmente, sacrificar uma parcela...
Time to study again. I just started an online course at the Singularity University. If you could solve one of...
Oferta de pré-venda!

Mentoria em
Arquitetura de Software

Práticas, padrões & técnicas para Arquitetura de Software, de maneira efetiva, com base em cenários reais para profissionais envolvidos no projeto e implantação de software.

× Precisa de ajuda?