facebook - user - socialite linkedin laravel




Facebook OAuth "O domínio deste URL não está incluído no domínio do aplicativo" (18)

Não é possível carregar o URL: o domínio deste URL não está incluído nos domínios do aplicativo. Para poder carregar esse URL, adicione todos os domínios e subdomínios do seu aplicativo ao campo Domínios do aplicativo nas configurações do seu aplicativo.

Eu tive esse problema hoje, acho a documentação do Facebook e o SDK desrespeitoso e convincente em relação a outros desenvolvedores para dizer o mínimo.

Além de ter os "domínios de aplicativos" em dois locais diferentes sem muita informação (3 se você adicionar uma plataforma "web"), também precisará acessar os produtos de aplicativos / login / configurações do facebook e adicionar seu URL de redirecionamento em URIs de redirecionamento válidos do OAuth

O erro diz NADA sobre as configurações de oauth.

Deixe-me começar dizendo que procurei uma resposta para essa pergunta há algum tempo ...

Estou tentando configurar o OAuth do Facebook para funcionar com meu aplicativo que está sendo desenvolvido localmente na minha máquina. Tudo estava funcionando perfeitamente com a autorização do Facebook, até que eu deixei de usar o localhost para outro nome de domínio (ainda local na minha máquina.) Agora, estou recebendo o seguinte erro.

Não é possível carregar o URL: o domínio deste URL não está incluído nos domínios do aplicativo. Para poder carregar esse URL, adicione todos os domínios e subdomínios do seu aplicativo ao campo Domínios do aplicativo nas configurações do seu aplicativo.

O arquivo Meus hosts contém 127.0.0.1 photovote.dev (funciona perfeitamente)

Meu redirecionamento no meu aplicativo (usando Socialite) é http://photovote.dev/auth/facebook/callback

Nas minhas configurações de aplicativos do Facebook ...

  • meu domínio de aplicativo é photovote.dev
  • o URL do meu site é http://photovote.dev/
  • meus URIs de redirecionamento válidos do OAuth são http://photovote.dev/auth/facebook/callback

O URL no momento da mensagem de erro é ..

https://www.facebook.com/v2.5/dialog/oauth?client_id=XXXXXXXXXXXXXXX&redirect_uri=http%3A%2F%2Fphotovote.dev%2Fauth%2Ffacebook%2Fcallback&scope=email&response_type=code&state=0ztcKhmWwFLtj72TWE8uOKTcf65JmePtG95MZLDD

Estou sem saber qual é o problema ...

Captura de tela 1

Captura de tela 2


A maioria das respostas diz respeito à adição do URL ao domínio do aplicativo, mas ao trabalhar em uma empresa, você não tem esse acesso. Para isso, você pode contornar isso simplesmente criando um host virtual e fazendo uma entrada de host.

adicione isso no arquivo host (/ etc / hosts) 127.0.0.1 www.your_domain.com

crie um host virtual. Eu usei isso para o host virtual apache

Webmaster do ServerAdmin @ localhost ServerName www.your_domain.com

    ProxyPass / http://localhost:5006/
    RewriteMap  lc int:tolower
    LogLevel debug


Aqui está o que eu fiz para resolver esse problema:

Basicamente:

1) Habilite " Login do OAuth do navegador incorporado "

2) Desative " Use o Strict Mode para redirecionar URIs " e insira um URI de redirecionamento como eu fiz.

3) Deixe todas as demais opções como estão.

4) Salve suas alterações.

5) Aproveite :)


Caso alguém se depare com isso e esteja procurando essas configurações (como eu estava)

Voce tem que

  1. No lado esquerdo, clique em "+ Adicionar produto" e selecione "Login no Facebook" (estava no topo para mim)
  2. Veja as novas configurações disponíveis no lado esquerdo
  3. Agora você terá essas configurações de OAuth nas "Configurações do produto"

Informações adicionais: adicione o URL de retorno de chamada, como http://localhost:3000 ao campo Valid OAuth redirect URIs na página de configurações do login do Facebook



Do jeito que eu o corrigi: fui para a caixa de texto URIs de redirecionamento válido do OAuth e defina o URL exato , não apenas o domínio :

antes: https://my-website.com

depois: https://my-website.com/facebookoauth/facebooklogin

(o URL pode ser diferente no seu caso, verifique-o na barra de endereços do navegador).

Isso foi causado pela configuração Use Strict Mode for Redirect URIs, que estava bloqueada na posição Yes.


Esta opção deve estar ativada no portal:


Eu tive o mesmo problema ..... o issu está na versão PHP SDK 5.6.2 e a correção estava editando o seguinte arquivo:

facebook\src\Facebook\Helpers\FacebookRedirectLoginHelper.php

mude esta linha

$redirectUrl = FacebookUrlManipulator::removeParamsFromUrl($redirectUrl,['state','code']);

para

$redirectUrl = FacebookUrlManipulator::removeParamsFromUrl($redirectUrl,['state','code','enforce_https']);



Eu tive o mesmo problema. Eu o resolvi adicionando meu URI de redirecionamento OAuth como argumento à chamada de função getAccessToken:

$redirectLoginHelper->getAccessToken("https://www.example.com/myfacebookcallback")

Se nenhum argumento for enviado para essa função, o SDK gera o URI de redirecionamento por si só, o que deve funcionar, mas, no meu caso, não.

Espero que isso ajude alguém.


Login no Facebook -> Configurações -> URIs válidos de redirecionamento OAuth -> insira os domínios do seu URL de redirecionamento, lembre-se de adicionar 'https' ou http. por exemplo: se o seu URL de redirecionamento for https://xxx.xxx.com/path/callback.do , você só precisará inserir https://xxx.xxx.com/ , tudo bem para mim.


Na maioria das vezes, isso acontece sem a inserção correta do URL de redirecionamento OAuth válido na seção de produtos do painel do FB. Sugiro seguir as etapas abaixo

01. Verifique se a configuração básica do aplicativo está correta com a imagem abaixo com você

02. verifique se você adicionou um produto

Caso contrário, você pode adicionar facilmente o produto de login clicando em + seno, como mostro abaixo.

Se o Sim chegar à configuração do produto.

03. A verificação se você forneceu URL de redirecionamento OAuth válido

É simples dizer o que deve ser feito após o login. Não é diferente da sua chamada de retorno URl.Você pode ver na minha foto abaixo eu adicionei vários URLs de redirecionamento.

  1. ainda tem algum problema Assista ao meu vídeo--> https://www.youtube.com/watch?v=mdhubrzV5y8&t=3s

Nada realmente funcionou para mim, até que eu atualizei a versão do SDK que estava usando. Comecei com 5.0. Nem mesmo a versão 5.4.0 também funcionaria. Quando atualizei para a 5.6.2, ela funcionou perfeitamente, apesar de não haver nada relevante nos changelogs!


No meu caso, o que eu precisava fazer era ativar apenas o login do OAuth do navegador incorporado


O problema e as respostas continuam mudando à medida que o FB aperta o procedimento de login. Hoje, comecei a receber a mensagem de horror "O domínio deste URL não está incluído nos domínios do aplicativo. Para poder carregar esse URL, adicione todos os domínios e subdomínios do seu aplicativo ao campo Domínios do aplicativo nas configurações do aplicativo".

A resposta foi: agora o FB quer o uri de redirecionamento completo. Então, para mim, onde costumava ser apenas https://www.example.com , agora você quer https://www.example.com/auth/facebook/callback . Isso deve ocorrer no campo "URIs de redirecionamento válidos do OAuth" (login do desenvolvedor / Facebook -> configuração)


Usando meu próprio servidor local.

Basta adicionar http://localhost/my-site como um URL em:

https://developers.facebook.com/apps/YOUR-APP-ID/fb-login/

trabalhou para mim.


primeira etapa: use todo o URL do certificado https://example.in ou ssl, não use http://example.in

segundo passo: configuração do aplicativo faceboook-> configuração básica-> adicione seu domínio ou subdomínio

terceira etapa: configuração de login do aplicativo faceboook-> URIs de redirecionamento OAuth válidos-> adicione seu URL de redirecionamento após o login

quarta etapa: configuração do aplicativo faceboook-> configuração avançada-> Gerenciador de Domínio-> adicione seu nome de domínio

siga todas as etapas e use o ID do aplicativo, versão do aplicativo, segredo do aplicativo para a instalação


Isso funcionou para mim:

Aqui está a principal coisa a entender: o Facebook sempre procurará o domínio " WWW ". Portanto, verifique se www.your_domain.dev está funcionando primeiro no seu navegador.

É possível que, se você tiver vários hosts virtuais no servidor local, algum outro host virtual substitua " www.seu_domínio.dev ". Então, por favor, verifique isso. O Apache escolherá a PRIMEIRA definição de domínio (ou portas, ou algo assim - não sou especialista nisso, mas aprendi por erros). Uma correção rápida e fácil para essa substituição de host virtual é colocar " www.your_domain.dev definição de host virtual na parte superior do arquivo" httpd-vhosts.conf ".

Vá para " /apache/conf/https-vhosts.conf " e coloque isso na parte superior do arquivo:

<VirtualHost *:80>
<Directory "C:/your_app_folder_path/">
    Options FollowSymLinks Indexes
    AllowOverride All
    Order deny,allow
    allow from All
</Directory>
ServerName your_domain.dev
ServerAlias your_domain.dev
DocumentRoot "C:/your_app_folder_path/"
</VirtualHost>

###### FOR SSL #####
<VirtualHost *:443>
    DocumentRoot "C:/your_app_folder_path/"
    ServerName your_domain.dev
    ServerAlias www.your_domain.dev
    SSLEngine on
    SSLCertificateFile "conf/ssl.crt/server.crt"
    SSLCertificateKeyFile "conf/ssl.key/server.key"
    <Directory "C:/your_app_folder_path/">
        Options All
        AllowOverride All
        Require all granted 
    </Directory>
</VirtualHost>

Próximo: Se você estiver usando o sistema Windows, edite o arquivo "hosts" em "C: \ Windows \ System32 \ drivers \ etc" adicionando duas linhas:

127.0.0.1 your_domain.dev
127.0.0.1 www.your_domain.dev

Próximo: Reinicie o servidor Apache e tudo deve funcionar agora.

Espero que isso ajude você e economize seu tempo. Eu perdi quase um dia inteiro pesquisando na web e estava puxando meu cabelo e não consegui encontrar nada de útil até encontrar isso.





laravel-socialite