Tudo começou com organizações que precisam de uma forma de centralizar os seus sistemas de autenticação para uma melhor gestão e segurança. Foi aí que o Single Sign On (SSO) entrou. Single Sign-on (SSO) é uma sessão centralizada e um serviço de autenticação de utilizadores em que um conjunto de credenciais de login pode ser utilizado para aceder a múltiplas aplicações. A sua beleza está na sua simplicidade; o serviço autentica-o numa única plataforma, permitindo-lhe entrar de forma transparente em vários serviços internos sem ter de entrar e sair de cada vez.
P>Nextos vieram desenvolvedores de aplicações de terceiros que pretendiam utilizar APIs internas para as integrar com os seus produtos e soluções, isto foi claramente um desafio. Depois vieram as redes sociais e tornaram as coisas ainda mais complicadas, temos actualmente milhares de aplicações que apoiam a autenticação através de redes sociais como Facebook, Google, Twitter, LinkedIn, etc. O problema nestas arquitecturas é o desafio de manter as coisas tão simples quanto possível e, ao mesmo tempo, aumentar a segurança. A solução? Identidades Federadas.
Correntemente, os três principais protocolos para a identidade federada são: SAML, OAuth2 & OpenID Connect. Antes de mergulharmos fundo nestes três protocolos, vamos discutir alguns conceitos comuns que as pessoas tendem a confundir.
Quando se trata de segurança e acesso, autenticação & autorização são dois termos que as pessoas tendem a ignorar e que muitas vezes se enganam em significar a mesma coisa. Bem, autenticação é verificar a sua identidade enquanto autorização é verificar aquilo a que tem acesso.
Autenticação é validar as credenciais de login antes de dar ao utilizador acesso ao sistema. Quando se trata de segurança, recomenda-se a utilização de pelo menos dois factores de autenticação antes de conceder ao utilizador o acesso a qualquer coisa. (2FA, MFA, digital & fichas físicas, etc.).