Bom dia,
Primeiramente parabéns pelo código @Márcio Baroni
Está fácil de entender e acredito que pode me ajudar.
Notei, no entanto, que você cria um servidor HTTP local na porta 3000 para a URI de redirecionamento do OAuth 2.0. Achei interessante essa abordagem, eu nunca antes, havia cogitado essa possibilidade. Sempre pensei que fosse necessário criar um servidor acessível na internet para poder rodar o serviço de redirecionamento da autorização do OAuth 2.0. Nesse sentido, em outras situações que precisei da autorização com o OAuth 2.0, acabei criando um serviço com o servidor HTTP instalado em algum VPS. Mas se o http:\\localhost realmente funciona (assim como você o fez), então o servidor VPS não seria necessário.