the resource requested present origin falta control chrome cabecera allow angularjs google-chrome http cors

angularjs - resource - header cors angular



La solicitud se redirigió a ''https://..com/site/login?'', Que no está permitida para solicitudes de origen cruzado que requieren verificación previa. (1)

Antes de publicar esta pregunta, he pasado por la mayoría de las preguntas de desbordamiento de pila pero no obtuve una respuesta

Estoy intentando acceder a una API de cliente que hará la autenticación de Oauth así que cuando llamo a la API debería lanzar una ventana emergente para autenticación similar a fb auth, pero estoy terminando con un error en mi consola de Chrome como a continuación

XMLHttpRequest no puede cargar https://api.springrole.com/authorize ?
scope = XXXX y redirect_uri = http: // localhost: 8080 / CheckRest / springrole.html & response_type = XXXX y client_id = XXXXXXXX . La solicitud se redirigió a '' https://springrole.com/site/login?api_login=1&scope=XXXX&state=&error=invalid_request '', que no está permitida para solicitudes de origen cruzado que requieren verificación previa.

Acabo de enmascarar algunos de los valores con XXX por motivos de seguridad. y mi solicitud se ve a continuación

$http({ method : ''GET'', url : url, headers : { ''Content-Type'' : ''application/json'', "Access-Control-Allow-Origin": "https://api.springrole.com", "Access-Control-Allow-Methods":"GET", "Access-Control-Allow-Credentials": true } }).success(function(data, status, headers, config) { $scope.details.response = JSON.stringify(data); console.log("success" + data) })

si elimino los encabezados en la solicitud, obtengo el siguiente error mostrado

Ningún encabezado ''Access-Control-Allow-Origin'' está presente en el recurso solicitado. El origen '' http: // localhost: 8080 '' no está, por lo tanto, permitido.

cualquier sugerencia o trabajo será apreciada.


Sí, te estás encontrando con la Política de Mismo Origen que está en vigencia por razones de seguridad. En pocas palabras, básicamente estás solicitando / abriendo algo de un origen diferente que no es muy seguro. Si lo desea, puede desactivarlo temporalmente en Chrome agregando el argumento --disable-web-security .

Entonces desde la Terminal puedes ejecutar

open -a Google/ Chrome --args --disable-web-security

Lo hago a menudo así que terminé simplemente agregando y alias a mi .bash_profile para poder acceder a él fácilmente

# Run Insecure Chrome alias insecure-chrome=''open -a Google/ Chrome --args --disable-web-security''

Luego, en la Terminal I, puedo llamar a insecure-chrome y aparece Chrome. Sabrá que funcionó si ve la advertencia de seguridad en la parte superior. La advertencia se ve así

Y por supuesto, advertencia obligatoria tenga cuidado al hacer esto . No navegaría en la web de esta manera, pero si trabajas localmente, estarás bien.

Para los usuarios de Windows, puede navegar a la carpeta donde está instalado y configurado Chrome

chrome.exe --user-data-dir = "C: / temp" --disable-web-security

Asegúrate de cerrar todas las instancias de Chrome antes de hacer esto o de lo contrario no funcionará.