javascript - idpiframe_initialization_failed - not a valid origin for the client has not been whitelisted for client id
No es un origen válido para el cliente de Google API Oauth (8)
"No es un origen válido para el cliente" parece estar sobreutilizado por la API de Google, es decir, también se usa de manera engañosa para errores de autenticación.
Para las personas que ven el error, verifique que las credenciales sean correctas.
(Esto podría explicar por qué funciona para algunas personas después de recrear las credenciales; en algunos casos, las credenciales originales pueden no ser correctas).
Recibo este error de la API de Google Oauth:
idpiframe_initialization_failed ", detalles:" No es un origen válido para el cliente: http: //127.0.0.… este es el origen de la ID del cliente de su proyecto
Estoy intentando enviar una solicitud desde esta ruta local:
Y ya agregué esta URL a la sección de Orígenes de JavaScript Autorizados:
Este es mi código:
<!-- The top of file index.html -->
<html itemscope itemtype="http://schema.org/Article">
<head>
<!-- BEGIN Pre-requisites -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js">
</script>
<script src="https://apis.google.com/js/client:platform.js?onload=start" async defer>
</script>
<!-- END Pre-requisites -->
<!-- Continuing the <head> section -->
<script>
function start() {
gapi.load(''auth2'', function() {
auth2 = gapi.auth2.init({
client_id: ''MY CLIENT ID.apps.googleusercontent.com'',
// Scopes to request in addition to ''profile'' and ''email''
//scope: ''https://www.google.com/m8/feeds/''
});
});
}
</script>
</head>
<body>
<button id="signinButton">Sign in with Google</button>
<script>
$(''#signinButton'').click(function() {
// signInCallback defined in step 6.
auth2.grantOfflineAccess().then(signInCallback);
});
</script>
<!-- Last part of BODY element in file index.html -->
<script>
function signInCallback(authResult) {
if (authResult[''code'']) {
// Hide the sign-in button now that the user is authorized, for example:
$(''#signinButton'').attr(''style'', ''display: none'');
// Send the code to the server
$.ajax({
type: ''POST'',
url: ''http://example.com/storeauthcode'',
// Always include an `X-Requested-With` header in every AJAX request,
// to protect against CSRF attacks.
headers: {
''X-Requested-With'': ''XMLHttpRequest''
},
contentType: ''application/octet-stream; charset=utf-8'',
success: function(result) {
// Handle or verify the server response.
},
processData: false,
data: authResult[''code'']
});
} else {
// There was an error.
}
}
</script>
<!-- ... -->
</body>
</html>
¿Cómo puedo arreglar esto?
Estuve jugueteando durante unos 10 minutos y finalmente funcionó cuando probé http://localhost/ en el navegador (en lugar de 127.0.0.1)
Agregue la url en cada lugar donde puede hacer listas blancas en: https://console.developers.google.com/apis/credentials/
Leí en varios lugares de la web que usan las personas para rehacer la creación de las credenciales para que funcione.
Así que lo hice, creé una nueva credencial para el mismo proyecto y utilicé mi nuevo usuario-id y funcionó perfectamente ... Parece que la edición de la lista blanca es un poco exagerada ...
Nb: También usé localhost en lugar de 127.0.0.1 , las IP no son válidas.
Si es lo mismo para usted, intente agregar http: // localhost: 8887 a sus orígenes de JavaScript autorizados. Tuve ese error yo mismo en algún momento y esto lo solucionó. Tenga en cuenta que tendrá que usar esta URL para su solicitud y el evento, aunque se traduce a http://127.0.0.1:8887/ .
Tuve el mismo problema y busqué por 3 días: Resolver " popup_closed_by_user
" Vaya a su consola. Vaya a su API. GESTIONAR: Credentials:modify your credentials:
Authorized Javascript origin (http://localhost:port);Authorized redirect URI( http://localhost:port/auth/google/callback);
Example:|| Authorized Javascript origin (http://localhost:4200);Authorized redirect URI( http://localhost:4200/auth/google/callback)|| enter image description here`enter code here`
Tuve el mismo problema y busqué por 3 días: Resolver " popup_closed_by_user " Vaya a su consola. Vaya a su API. GESTIONAR: Credenciales: modifique sus credenciales:
Blockquote
Origen de JavaScript autorizado ( http://localhost:port);Authorized URI de redireccionamiento http://localhost:port);Authorized ( http://localhost:port/auth/google/callback );
Blockquote
Ejemplo: || Origen de JavaScript autorizado ( http://localhost:4200);Authorized URI de redireccionamiento http://localhost:4200);Authorized ( http: // localhost: 4200 / auth / google / callback) || ingrese la descripción de la imagen aquí
Tuve un problema muy similar al tuyo. Intenté agregar varios puertos de la lista blanca desde localhost
y nada estaba funcionando. Terminé borrando las credenciales y configurándolas de nuevo. Debe haber sido un error en el final de Google para mi configuración.