Como funciona
OAuth é um protocolo de autorização que permite que um aplicativo tenha acesso a recursos de um usuário em um serviço, sem que a senha do usuário seja compartilhada. O fluxo clássico de código de autorização começa com o usuário clicando em "Entrar com X". O aplicativo redireciona o usuário ao provedor, que pede confirmação. Com a autenticação, um código é trocado por um token de acesso. Esse token permite ao aplicativo chamar a API do serviço para as ações autorizadas, por um tempo limitado. Cada aplicativo solicita apenas os escopos necessários, o que limita o que ele pode ler, e o usuário decide se concorda com o pedido. A revisão das permissões pode ser feita a qualquer momento no painel do provedor, e o token de atualização permite que o acesso continue sem nova senha.
Exemplo prático
Um site de agendamento pede permissão para ler o nome e o e-mail do usuário de um serviço de e-mail. O usuário confirma, o site recebe um token e pode exibir o e-mail, sem jamais ver a senha do serviço. Se o site for revogado, o token perde validade e o acesso é encerrado. O usuário pode revogar o acesso a qualquer momento no painel do provedor, sem alterar a senha de outros serviços. O token de acesso tem validade limitada, e um token de atualização permite que o acesso continue sem pedir a senha novamente.
Para que serve
OAuth serve para que aplicativos e serviços compartilhem dados com segurança, permitindo granularidade nos acessos, revogação de sessões e boas práticas de segurança, ao invés de compartilhar credenciais entre sistemas. Os tokens têm validade limitada e escopos definidos, o que reduz o dano caso um token seja vazado. A revogação rápida também torna o fluxo mais seguro que compartilhar a senha com cada aplicativo, especialmente em ambientes corporativos onde o controle de acesso é obrigatório.
Diferença entre X e Y
OAuth autoriza o acesso a recursos; ele não confirma a identidade do usuário. A autenticação costuma ser feita com OpenID Connect, que pode ser usada junto com o OAuth no mesmo fluxo.