Talvez tenhamos visões distintas de como o Single Sign-On funcionaria.
Na minha visão o cadastro funcionaria assim:
- O usuário visitaria a página de cadastro do TabNews e clicaria em um botão do para cadastras com o GitHub
- O usuário loga no GitHub (ou se já estiver logado vai direto para o próximo passo)
- O TabNews pede o email e Oauth information para o GitHub
- O GitHub pede para usuário confirmar que o TabNews pode saber do seu email e logar com o GitHub
- Pronto, aqui você já está cadastrado e pode jogar com o GitHub
Na minha visão, uma coisa que teria que ter como um acrescimo seria uma mensagem recomendando que você coloque uma senha diferente, é muito mais seguro do que uma senha ou duas senhas padronizadas para todos os sites
Neste processo o TabNews não sabe da senha do usuário então não teria a necessidade desta segunda senha; tudo fica por conta do GitHub mesmo. O TabNews até mesmo se beneficiaria do 2FA já implementado pelo GitHub.
Neste exemplo, estou mencionando o GitHub mas pode ser qualquer outra aplicação que oferece Single Sign-On como Google ou Facebook.
t++