Gerenciando a autenticação em aplicações distribuídas - Full Cycle FullCycle

Voltar

Wesley Willians

Gerenciando a autenticação em aplicações distribuídas

2 min de leitura

Quem opera nas plataformas distribuídas tem uma preferência por trabalhar o mais próximo de Single Sign-On (SSO). Ou seja, ao logar num microsserviço, você também estará logado automaticamente nos outros.

(Assista em 15min e 17seg)

Normalmente isso resolve as suas questões se você tem um servidor de autenticação, no qual você se autentica e ele guarda as suas credenciais. E, se em algum momento você, por exemplo, utilizar algum outro microsserviço, você bate novamente no servidor, que verifica se você tem o token correto e libera o seu acesso.

A vantagem disso, e também a razão de ser um problema para muitos desenvolvedores, é que existem diversas formas de se trabalhar com autenticação. Vejamos alguns exemplos:

SAML 2

O SAML 2 é basicamente um protocolo de autenticação no qual você consegue trocar as suas informações com o servidor, te permitindo trabalhar com Single Sign-On.

Mas como ele não trabalha com tokens de uma forma moderna, existe uma preferência em se trabalhar com OAuth 2 e OpenID Connect. E é nesse ponto que muitos programadores se confundem.

OAUTH 2

Muitos pensam que o OAuth 2 é um recurso de autenticação, quando na verdade é sobre autorização. E assim ele verifica se você está autorizado a executar ou pegar os dados de algum outro sistema.

O OAuth 2 trabalha com delegação, assim como um procurador. Um exemplo disso é o WhatsApp, que pede acesso à sua agenda de contatos para atualizá-los no seu aplicativo.

OPENID CONNECT

O OpenID Connect é uma camada criada acima do OAuth 2, reaproveitando esse fluxo para fazer a autenticação do usuário.

O fluxo é bem semelhante, mas na autenticação pelo OAuth 2 e OpenID Connect, além de você receber o Access Token padrão, você também recebe um ID Token que traz as suas informações para te autenticar. Com isso você não se preocupa mais com credenciais de autorização, mas sim em saber se você está autenticado no sistema.

ADICIONAIS

Os bons servidores de autenticação também te fornecem o acesso pelo SAML 2, OAuth 2 e OpenID Connect. Além de outras autenticações federadas LDAP ou em plataformas sociais como o Google, Facebook ou LinkedIn.

Então se você quer trabalhar com aplicações distribuídas procure um projeto que trabalhe com servidores de autenticação, tal como o Keycloak.

Veja também: Melhores práticas para trabalhar com microsserviços.

Se você curtiu esse artigo e quer saber mais sobre aplicações distribuídas, fale conosco clicando aqui que nós te ajudamos.

E você já conferiu o conteúdo do nosso canal do youtube?