Executando verificação de segurança...
1

Esse é um assunto muito relevante. Sempre que pesquiso na web sempre acho fragmentos de informações. Contudo o seu post consolida tais conceitos e ainda explica qual é a diferença entre o OAuth e o Open ID.

A única dúvida que eu fiquei foi sobre a questão de salvar o tokens de acesso no banco: você utiliza essa estratégia para que o Backend saiba qual foi o último token gerado e reaproveitá-lo?
Se sim, creio que uma outra hipótese seria utilizar os mecanismos de armazenamento de cookies do Browser/App para evitar qualquer possível problema de segurança. Claro que para um exemplo isso se torna completamente irrevelante.
Comento mais para entender qual foi o racional por trás dessa estratégia.

De qualquer forma, muito bom o seu post :)

Carregando publicação patrocinada...
1

Bem, o token que salvo no banco é o que dá acesso à API do Google Drive. Uma vez que o usuário permite que o DrawApp salve arquivos no seu Drive, salvo o token no banco para reutilizar depois. É mais seguro dessa forma porque o token acaba sendo usado apenas entre o backend do DrawApp e o backend do Google Drive, ou seja, ele não é exposto pro navegador.

Já a autenticação do usuário no DrawApp é feita via Cookie, que esse sim fica no browser.

Espero ter respondido sua dúvida, obrigado pelo comentário!