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:

2 respostas

  1. Boa Elemar! Já brinquei com identityserver 4 para autenticar APIs e gostei muito! Preciso aprender mais sobre essa ferramenta!

Deixe uma resposta

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

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 vida, todos temos “momentos traumáticos”. Ou seja, aqueles momentos que, de repente, mudam tudo e, ao mesmo tempo, de...
Como um programador experiente, você precisa lidar com ocorrências NullReferenceException todos os dias. Certo? Eu defendo que este é um...
Decidi aprender a programar com R. Aqui está algo que escrevi. ## defining a function makeCacheMatrix <- function(x = matrix())...
Hoje completo 39 anos! Estou em Uberlândia, em um hotel, descansando após um dia de muito trabalho (e um bocado...
That is a question that I have been answering for years. The answer is an emphatic “NO” in most cases....
Há pouco menos de um ano, aceitei o desafio de liderar o time de tecnologia e estratégia de negócios da...