Abrangência
Disponível a partir da versão 19.3.1 e superiores.
OAuth 2 é um protocolo de autorização que permite que uma aplicação se autentique em outra. Para que isso aconteça, uma aplicação pede permissão de acesso para um usuário, sem que para isso ela tenha acesso a alguma senha dele.
Provavelmente você já clicou em algum botão escrito “Logar com sua conta do Google” ou “Logar com sua conta do Facebook” quando você está em alguma outra aplicação, para evitar de ter que fazer na mão algum cadastro. Neste caso, você está dando a autorização de uma aplicação terceira a usar os recursos da sua aplicação, neste caso o Google ou o Facebook. Essas aplicações têm acesso limitado às informações de usuários através do protocolo HTTP. OAuth 2 é utilizado nos mais diversos tipos de autenticação, como em telas de login e na autenticação de APIs (Application Programming Interface).
A implementação do oAuth2 no TlppCore, apesar de ainda não estar contemplando todas as possibilidades de validação e acesso disponibilizadas pelo protocolo, ocorreu respeitando a RFC6749 .
Foi implementado, até então, o modelo de utilização abaixo:
- Grant Type -> Client Credentials(Password Grant)
Neste modelo, a partir dos dados do cliente(nome, senha) , juntamente com os dados da aplicação(secret, clientId) são gerados os tokens access/refresh seguindo o formato de utilização(BEARER).
Apesar do envio de usuário e senha, nesta implementação estes dados não ficam de posse da aplicação de validação(Server), são descartados após a geração dos tokens ficando a cargo da aplicação Client a guarda e o envio das mesmas, seja através dos EntryPoints disponibilizados ou dos parâmetros da requisição.