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 :)