Estoy desarrollando un sitio web que se supone que debe responder para que las personas puedan acceder a él desde sus teléfonos. El sitio tiene algunas partes seguras que se pueden iniciar sesión con Google, Facebook, ... etc. (OAuth).
El servidor back-end se desarrolla utilizando ASP.Net Web API 2 y el front-end es principalmente AngularJS con algo de Razor.
Para la parte de autenticación, todo funciona bien en todos los navegadores, incluido Android, pero la autenticación de Google no funciona en iPhone y me da este mensaje de error
Refused to display 'https://accounts.google.com/o/openid2/auth
?openid.ns=http://specs.openid.ne…tp://axschema.org/namePerson
/last&openid.ax.required=email,name,first,last'
in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.
Ahora, en lo que a mí respecta, no uso ningún iframe en mis archivos HTML.
Busqué en Google, pero ninguna respuesta me consiguió solucionar el problema.
angularjs
asp.net-web-api
google-oauth
Ali Hmer
fuente
fuente
Respuestas:
He encontrado una solución mejor, tal vez puede ayudar a alguien sustituir
"watch?v="
por"v/"
y funcionaráfuente
<iframe width='1080' height='760' src="https://www.youtube.com/embed/dQw4w9WgXcQ" frameborder="0" allowfullscreen></iframe>
OK después de pasar más tiempo en esto con la ayuda de esta publicación SO
Superar "Pantalla prohibida por X-Frame-Options"
Logré resolver el problema agregando
&output=embed
al final de la URL antes de publicar en la URL de Google:fuente
Tratar de usar
Puede encontrar todo el código incrustado en la sección 'Código incrustado' y se ve así
fuente
Han establecido el encabezado en SAMEORIGIN en este caso, lo que significa que no han permitido cargar el recurso en un iframe fuera de su dominio. Por lo tanto, este iframe no puede mostrar dominios cruzados
Para este propósito, debe coincidir con la ubicación en su apache o cualquier otro servicio que esté utilizando
Si está utilizando apache, entonces en el archivo httpd.conf.
fuente
your_relative_path
?Si está utilizando iframe para vimeo, cambie la url de:
a:
Esto funciona para mi.
fuente
Para insertar videos de YouTube en su página angularjs, simplemente puede usar el siguiente filtro para su video
fuente
Hice los siguientes cambios y funciona bien para mí.
Solo agrega el atributo
<iframe src="URL" target="_parent" />
_parent
: esto abriría la página incrustada en la misma ventana._blank
: En una pestaña diferentefuente
Para mí, la solución fue ir a console.developer.google.com y agregar el dominio de la aplicación a la sección "Orígenes de Javascript" de las credenciales de OAuth 2.
fuente
Poco tarde, pero este error también puede ser causado si usa un en
native application Client ID
lugar de unweb application Client ID
.fuente
Estaba teniendo el mismo problema al implementar en Angular 9. Estos son los dos pasos que hice:
Cambia tu URL de YouTube de
https://youtube.com/your_code
ahttps://youtube.com/embed/your_code
.Y luego pasa la URL a través
DomSanitizer
de Angular.fuente
Hay una solución que funcionó para mí, en referencia a los padres. Después de obtener la URL que redirigirá a la página de autenticación de Google, puede probar el siguiente código:
fuente
Gracias por la pregunta Para el iframe de YouTube, el primer problema es la URL que ha proporcionado, es una URL incrustada o un enlace URL de la barra de direcciones. este error para URL no incrustada pero si desea proporcionar URL no incrustada, entonces necesita codificar en "Safe Pipe" como (para URL no incrustada o incrustada):
se dividirá "vedioId". Debe obtener la identificación del video y luego configurarla como URL como incrustada. En HTML
Angular 2/5 gracias de nuevo.
fuente
agregue el siguiente con sufijo URL
fuente
Tuve un problema similar al insertar el chat de YouTube y lo descubrí. Tal vez hay una solución similar para un problema similar.
Mi página web funciona con www y sin ella. Por lo tanto, para que funcione, debe asegurarse de cargar el que aparece en el valor embed_domain = ... Tal vez haya una variable que le falta para decir dónde incrustar su iframe. Para solucionar mi problema tenía que escribir un script para detectar la página web correcta y ejecutar el nombre de dominio de incrustación de iframe adecuado.
o
Comprenda que no está usando iframes, pero aún puede haber alguna variable que necesite agregar a su sintaxis para decirle dónde se usará el script.
fuente
Me encontré con este problema similar al usar iframe para cerrar sesión en sub sitios con diferentes dominios. La solución que usé fue cargar el iframe primero, luego actualizar la fuente después de cargar el marco.
fuente
youtube / embed, dos sabores:
https://www.youtube.com/embed/watch?v=eAxV4uO8oTU&list=RDeAxV4uO8oTU&start_radio=1 https://www.youtube.com/embed/CNG7yrHHJ5A
pegar en su navegador y ver
el original:
https://www.youtube.com/watch?v=eAxV4uO8oTU&list=RDeAxV4uO8oTU&start_radio=1 https://www.youtube.com/watch?v=CNG7yrHHJ5A
uno necesita mantener "watch? V =", el otro no
fuente