O que é OAuth?
O OAuth 2.0 é um framework de autorização aberto que permite a uma aplicação de terceiros obter acesso limitado aos recursos de um usuário em outro serviço — como seu perfil ou seus dados — sem que o usuário compartilhe sua senha com o terceiro.
Também conhecido como: OAuth 2.0, OAuth2, open authorization
O OAuth resolve um problema concreto: como você pode conceder a uma aplicação acesso aos seus dados em outro serviço sem dar a ela sua senha? Antes do OAuth, a resposta costumava ser entregar as credenciais diretamente, uma prática que concedia acesso ilimitado sem forma de revogá-lo de maneira seletiva. O OAuth introduz o conceito de autorização delegada por meio de tokens de acesso com escopo e duração limitados.
O fluxo do OAuth 2.0 envolve quatro partes: o proprietário do recurso (o usuário), o cliente (a aplicação de terceiros), o servidor de autorização (que emite os tokens) e o servidor de recursos (que hospeda os dados do usuário). O usuário se autentica perante o servidor de autorização, concede permissões específicas ao cliente e o cliente recebe um token de acesso. Esse token é usado para acessar os recursos do usuário sem que o cliente jamais veja a senha do usuário.
O OAuth 2.0 define vários tipos de concessão para diferentes cenários: o fluxo de código de autorização (para aplicações do lado do servidor), o fluxo de código de autorização aprimorado com PKCE (para clientes públicos como aplicações móveis e de página única), as credenciais de cliente (para a comunicação de máquina a máquina) e o fluxo de código de dispositivo (para dispositivos com entrada limitada). O framework se estende com o OpenID Connect (OIDC), que adiciona uma camada de identidade padronizada para a autenticação sobre as capacidades de autorização do OAuth.
Como o Vaulted usa OAuth
O Vaulted não implementa OAuth porque não tem contas de usuário, nem integrações de terceiros, nem necessidade de autorização delegada. No entanto, os tokens OAuth são um tipo comum de credencial sensível que as pessoas precisam compartilhar de forma segura; por exemplo, compartilhar o segredo de cliente de uma conta de serviço com uma equipe de implantação. O Vaulted oferece um canal seguro para transmitir esses tokens sem expô-los em mensagens do Slack, e-mails ou sistemas de tickets onde persistiriam indefinidamente.