Nessa apresentação realizada no Papo Reto da Bluesoft, falei um pouco sobre OAuth 2 e como você pode utilizar esse protocolo para utilizar recursos de outras aplicações de forma segura.
O principal objetivo do OAuth 2 é permitir que uma aplicação se autentique em outra “em nome de um usuário”, sem precisar ter acesso a senha dele.
Basicamente, a aplicação pede permissão de acesso para aquele usuário que pode ou não conceder, sem que para isso tenha que informar a senha. Mesmo que a senha seja alterada a permissão continuará válida. Além disso, a permissão dada à aplicação cliente pode ser revogada a qualquer momento.
Glendon Leitão, descreveu muito bem o Fluxo do OAuth 2:
- O usuário está em uma aplicação (client) e essa aplicação deseja acessar um recurso protegido do usuário em outra aplicação.
- O client faz uma chamada ao authorization server por meio de uma url passando 3 parâmetros (cliente id, cliente secret e redirect url) e o usuário é redirecionado para uma nova página.
- O usuário fornece suas credenciais e a autorização para o cliente acessar seus recursos privados.
- Após o cliente conceder autorização, o servidor de autenticação faz um redirect para a página passada como parâmetro (redirect url) passando de volta o parâmetro token.
- De posse do token, o cliente pode solicitar o acesso ao recurso protegido, enviando o token na requisição.
Para aprender mais sobre OAuth 2, veja o vídeo da palestra e acompanhe os slides:
Olá, como fica a segurança ao utilizar o passo Implicit Grant? Já que não é necessário enviar nenhum client-secret?
Obrigado.