Respuesta de Google oauth 400: no hay encabezado 'Access-Control-Allow-Origin' en el recurso solicitado

Estoy tratando de hacer una solicitud desde javascript del lado del cliente al punto final de google oauth (https://accounts.google.com/o/oauth2/v2/auth) con un alcance de calendario de google. La cosa es que no puedo usar el cliente javascript de google, porque en realidad estoy usando webpack, y no quiero incluir por separado un script javascript fuera de mi bundle.js.

Entonces, en cambio, estoy usando axios (https://github.com/mzabriskie/axios) para hacer que HTTP GET llegue al punto final del token mencionado anteriormente. Así es como se ve mi solicitud:

https://accounts.google.com/o/oauth2/v2/auth?response_type=token&client_id={client id here}&nonce=c8ef445540186351d9108ad64d7a5b65&scope=https:%2F%2Fwww.googleapis.com%2Fauth%2Fcalendar

Generé el nonce usando la función MD5 de la biblioteca crypto-js. Aquí están los encabezados de solicitud:

Accept:application/json, text/plain, */*
Origin:http://localhost:8000
Referer:http://localhost:8000/admin
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36

La respuesta que obtengo de google se ve así:

alt-svc:quic=":443"; ma=2592000; v="32,31,30,29,28,27,26,25"
alternate-protocol:443:quic
cache-control:no-cache, no-store, max-age=0, must-revalidate
content-encoding:gzip
content-type:text/html; charset=utf-8
date:Mon, 18 Apr 2016 07:16:21 GMT
expires:Fri, 01 Jan 1990 00:00:00 GMT
pragma:no-cache
server:GSE
status:400
x-content-type-options:nosniff
x-frame-options:SAMEORIGIN
x-xss-protection:1; mode=block

Y veo este registro en mi consola de Chrome Devtools:

XMLHttpRequest cannot load https://accounts.google.com/o/oauth2/v2/auth?response_type=token&client_id={client id here}&scope=https:%2F%2Fwww.googleapis.com%2Fauth%2Fcalendar. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8000' is therefore not allowed access. The response had HTTP status code 400.

Me aseguré de que en mi consola de aplicaciones de Google, bajo la identificación del cliente correspondiente, agreguéhttp: // localhost: 8000 al campo "Orígenes de Javascript autorizados" y me he asegurado de habilitar la autorización para la API de Google Calendar. He leído que el flujo de autenticación implícito del cliente web no usa la uri de redireccionamiento, pero he intentado completarla de todos modos (he probado los valoreshttp: // localhost: 8000 yhttp: // localhost: 8000 / admin, que es la página desde la que envío mi solicitud). Después de pasar horas buscando en Google, no he encontrado nada que sugiera que lo que estoy haciendo no debería funcionar.

Entonces mi pregunta es, si he permitidohttp: // localhost: 8000 como origen autorizado para mi ID de cliente, ¿por qué todavía no puedo enviar una solicitud (aunque a través de javascript) a ese punto final de autenticación?

Respuestas a la pregunta(1)

Su respuesta a la pregunta