Botão de login do Google - Como obter o id_token no servidor ao usar o fluxo de redirecionamento

Estou adicionando um botão de login federado "Fazer login no Google" ao meu site. Para área de trabalho, estou usando a janela pop-up, que funciona muito bem assim:

gapi.auth2.init();
gapi.auth2.getAuthInstance().signIn().then(function(user) {
  var id_token = user.getAuthResponse().id_token;
  // ajax call to pass this to server
});

No entanto, no celular, queremos usar redirecionamentos em vez de pop-ups, pois guias separadas são um pouco estranhas nos navegadores móveis. Eu apenas mudo para:

gapi.auth2.init({
  ux_mode: 'redirect',
  redirect_uri: 'http://example.com/google_login/'
});

Isso funciona, mas adiciona o id_token necessário como um fragmento de hash, que o servidor não pode ver. Termina em:

http://example.com/google_login/#id_token=ASDFASDFASDFASDF

Eu acho que poderia renderizar uma página de conector com uma tag de script que puxa window.location.hash e redireciona para si mesma com isso como um parâmetro de consulta, mas parece loucura que eu teria que fazer isso. Existe uma maneira melhor?

questionAnswers(0)

yourAnswerToTheQuestion