Creamos nuestra aplicación web y la integramos con Google OAuth2 de acuerdo con este documento Google Identity Services JavaScript SDK
Nos gustaría usar el modo "emergente", pero cuando intentamos intercambiar access_token con el código de autenticación, /token devuelve un error como "
{"error": "redirect_uri_mismatch","error_description": "Solicitud incorrecta"}"
Hemos pasado el parámetro redirect_url al llamar a /token y es exactamente el mismo que se configuró en la página de credenciales.
Lo que es más extraño es que cuando cambiamos al modo "redireccionar", todo funciona bien. Mismo client_id , mismo client_secret , mismo grant_type , mismo redirect_uri .
No lo entiendo, es como si los códigos generados en el modo de redirect y popup se trataran de manera diferente.
¿Alguna ayuda? ¡Muchas gracias!
Según el documento al que hizo referencia, Google no espera un refirect_url en modo emergente. Google no enviará una redirección. En su lugar, devolverá el código de autenticación directamente a su devolución de llamada y la devolución de llamada deberá enviarlo a su servidor.
Establezca redirectUri en el cliente OAuth2 en "postmessage" para indicar que ya envió el mensaje.
Es una característica no documentada.