Uso uma sequência um pouco diferente para garantir que os administradores do serviço que concede a validação não consigam ter acesso ao nosso serviço, pois a chave gerada pelo expresso é armazenada lá no backend deste serviço se usarmos apenas essa chave para acesso ao nosso sistema, como chave de sessão, teremos um problema de controle. Então uso o JWT (json web token) em conjunto com a chave do expresso, mais uma chave privada (RSA, etc) para criar o hash que chamo de access_token. Esse é enviado para o usuário da app mobile.
O fluxo ocorre mais ou menos conforme o link abaixo. Não deu para expressar o retorno do login até o dispositivo devido a limitação gráfica da ferramenta que eu estava usando.
- Diagrama de Sequência - Expresso <-> Node.js (copie e cole: blob:https%3A//drive.google.com/05b4ad8f-8459-4b9e-839f-2106143fc162) ou;
- Diagrama de Sequência - Expresso <-> Node.js