Estou desenvolvendo um site que deve ser responsivo para que as pessoas possam acessá-lo de seus telefones. O site possui algumas partes seguras que podem ser acessadas usando o Google, Facebook, ... etc (OAuth).
O servidor back-end é desenvolvido usando o ASP.Net Web API 2 e o front-end é principalmente o AngularJS com um pouco de Razor.
Para a parte de autenticação, tudo está funcionando bem em todos os navegadores, incluindo o Android, mas a autenticação do Google não está funcionando no iPhone e é exibida a seguinte mensagem de erro
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'.
Agora, no que me diz respeito, não uso iframe nos meus arquivos HTML.
Eu procurei no Google, mas nenhuma resposta me levou a resolver o problema.
angularjs
asp.net-web-api
google-oauth
Ali Hmer
fonte
fonte
Respostas:
Eu encontrei uma solução melhor, talvez ele possa ajudar alguém substituir
"watch?v="
por"v/"
e irá funcionarfonte
<iframe width='1080' height='760' src="https://www.youtube.com/embed/dQw4w9WgXcQ" frameborder="0" allowfullscreen></iframe>
OK, depois de passar mais tempo nisso com a ajuda deste post do SO
Superando "Exibição proibida por X-Frame-Options"
Consegui resolver o problema adicionando
&output=embed
ao final do URL antes de postar no URL do Google:fonte
Tente usar
Você pode encontrar todo o código incorporado na seção 'Código incorporado' e que se parece com isso
fonte
Eles definiram o cabeçalho como SAMEORIGIN nesse caso, o que significa que eles não permitiram o carregamento do recurso em um iframe fora de seu domínio. Portanto, esse iframe não pode exibir vários domínios
Para esse fim, você precisa corresponder ao local em seu apache ou qualquer outro serviço que esteja usando
Se você estiver usando o apache, no arquivo httpd.conf.
fonte
your_relative_path
?Se você estiver usando o iframe para vimeo, altere o URL de:
para:
Funciona para mim.
fonte
Para incorporar o vídeo do youtube na sua página angularjs, você pode simplesmente usar o seguinte filtro para o seu vídeo
fonte
Fiz as alterações abaixo e funciona bem para mim.
Basta adicionar o atributo
<iframe src="URL" target="_parent" />
_parent
: isso abriria a página incorporada na mesma janela._blank
: Na guia diferentefonte
Para mim, a correção foi acessar console.developer.google.com e adicionar o domínio do aplicativo à seção "Javascript Origins" das credenciais do OAuth 2.
fonte
Um pouco tarde, mas esse erro também pode ser causado se você usar um em
native application Client ID
vez de umweb application Client ID
.fonte
Eu estava tendo o mesmo problema de implementação no Angular 9. Estas são as duas etapas que fiz:
Altere seu URL do YouTube de
https://youtube.com/your_code
parahttps://youtube.com/embed/your_code
.E depois passe o URL através
DomSanitizer
do Angular.fonte
Existe uma solução que funcionou para mim, referindo-se aos pais. Depois de obter o URL que será redirecionado para a página de autenticação do Google, você pode tentar o seguinte código:
fonte
Obrigado pela pergunta. Para o iframe do YouTube, o primeiro problema é o URL que você forneceu, é o URL incorporado ou o link do URL na barra de endereços. esse erro para URL não incorporado, mas se você deseja fornecer URL não incorporado, precisará codificar em "Pipe seguro", como (para URL não incorporado ou incorporado):
ele irá dividir "vedioId". Você precisa obter o ID do vídeo e definir o URL como incorporado. Em HTML
Angular 2/5 obrigado novamente.
fonte
adicione o abaixo com sufixo URL
fonte
Tive um problema semelhante ao incorporar o bate-papo do youtube e eu descobri. Talvez exista uma solução semelhante para um problema semelhante.
Minha página da web funciona com www e sem ela. Portanto, para que funcione, você precisa carregar a que está listada no valor embed_domain = ... Talvez haja uma variável ausente para dizer onde incorporar seu iframe. Para corrigir meu problema, escrevi um script para detectar a página correta e executar o nome de domínio apropriado do iframe.
ou
Entenda que você não está usando iframes, mas ainda pode haver alguma variável que você precisa adicionar à sua sintaxe para informar onde o script será usado.
fonte
Ocorreu um problema semelhante ao usar o iframe para fazer logout de sub sites com domínios diferentes. A solução que usei foi carregar o iframe primeiro e depois atualizar a fonte após o carregamento do quadro.
fonte
youtube / embed, dois sabores:
https://www.youtube.com/embed/watch?v=eAxV4uO8oTU&list=RDeAxV4uO8oTU&start_radio=1 https://www.youtube.com/embed/CNG7yrHHJ5A
cole no seu navegador e veja
o original:
https://www.youtube.com/watch?v=eAxV4uO8oTU&list=RDeAxV4uO8oTU&start_radio=1 https://www.youtube.com/watch?v=CNG7yrHHJ5A
um precisa ficar vigiando? V = ", o outro não
fonte