Nome de domínio do aplicativo do Facebook ao usar localhost

85

De um tutorial aqui:
http://ankurm.com/blog/api/using-localhost-for-facebook-app-development/1091/

Tentei configurar uma área de desenvolvimento local para meu aplicativo do Facebook. Mas quando coloco " http: // localhost: 85 / my_app / " como meu nome de domínio, o Facebook diz

Domínios de aplicativos: " http: // localhost: 85 / nome do aplicativo / " não deve conter informações de protocolo.

Além disso, quando coloco "localhost: 85 / my_app /" como meu nome de domínio, recebo o erro:

Domínios de aplicativos: localhost: 85 / my_app / não é um domínio válido.

Sanya Tobi
fonte
6
Não acredito que o que você deseja atualizar seja o "Domínio do aplicativo", em vez disso, o que deseja atualizar é a "URL do site" localizada em: Aplicativos> Editar aplicativo> Configurações> Básico> Site com login do Facebook. Certifique-se de que está verde e o "URL do site" aparecerá. Você pode inserir http: // localhost - não há necessidade de especificar uma porta, mas você deve especificar o protocolo.
Luis Perez
1
Não foi possível fazer o localhost funcionar no domínio do aplicativo. Definir configurações avançadas | 'URIs de redirecionamento OAuth válidos' para o url do host local (http: // localhost: port #). Consulte github.com/tschellenbach/Django-facebook/issues/376
Joe
Observe também que o domínio do aplicativo deve ser localhostpara aceitar o domínio. Tentei com mysite.local e não funcionou. Alterado Site URL to http://localhost:85/e App Domains to http://localhost:85/salvo (domínio do aplicativo modificado pelo FB) para funcionar.
James Lock
Outra coisa para tentar: "Nas configurações do Client oAuth, onde diz Usar modo estrito para URIs de redirecionamento, certifique-se de que esteja definido como Não e salve o hit. - wp-native-articles.com/blog/news/…
eflat
Exigindo HTTPS para login do Facebook. Você ainda poderá usar HTTP com endereços “localhost”, mas apenas enquanto seu aplicativo ainda estiver em modo de desenvolvimento. developers.facebook.com/blog/post/2018/06/08/…
yadavr

Respostas:

58

Minha solução:

  1. Deixe os domínios do aplicativo vazios
  2. (Produtos) Login do Facebook> Configurações
  3. Adicionar http://localhost:85/my_app/à Valid OAuth redirect URIscaixa
  4. Salvar alterações
dkonayuki
fonte
6
@Matt Long: Não encontrei a caixa URIs de redirecionamento OAuth válidos, ela foi removida?
Juliano
@MattLong obrigado! Eu fiz isso funcionar usando a solução Supasates.
Juliano
1
Funcionou para mim! (Fevereiro de 2018)
Daniel diz Restabelecer Monica em
18/10/2020 Recebo este aviso " Redirecionamentos de host local são permitidos automaticamente apenas no modo de desenvolvimento e não precisam ser adicionados aqui."
Kick Buttowski
55

Parece que o protocolo foi alterado.

Aqui está minha solução (testei em 3 de abril de 2015 e funciona bem):

Em Configurações -> guia Básico

  1. Domínio do aplicativo: localhost
  2. Clique em + Adicionar plataforma " e escolha " Site "
  3. URL do site: http: // localhost: <port> / ( <port> é o seu número de porta)
  4. Salvar alterações
Supasate
fonte
3
não funciona, s32.postimg.org/4qazo1sl1/…
shershen
4
Obrigado! Isso funcionou para mim (maio de 2016). Aviso, 127.0.0.1 não funciona.
Milad M
Trabalhou para mim junho de 2017
Alaksandar Jesus Gene
Trabalho! Dezembro de 2017
Pandarian Ld
44
  1. Deixe os domínios do aplicativo vazios
  2. Vá para o site com o login do Facebook
  3. Adicionar http://localhost:port_number/
  4. Salve as alterações e tente novamente. Para mais informações visite

http://developers.facebook.com/docs/samples/canvas/ Boa codificação :-)

PM
fonte
3
developers.facebook.com/docs/opengraph/getting-started - provavelmente mais relevante
fflyer05
7
Não foi possível fazer o localhost funcionar no domínio do aplicativo. Definir configurações avançadas | 'URIs de redirecionamento OAuth válidos' para o url do host local (http: // localhost: porta #). Consulte github.com/tschellenbach/Django-facebook/issues/376
Joe
2
O que significa "Site com login do Facebook"? Uma opção ao lado de "Domínios de aplicativos"? Eu não vejo isso. Adicionar a entrada localhost em "Configurações avançadas | URIs de redirecionamento OAuth válidos" funcionou para mim
Pierre de LESPINAY
Fiz isso, ainda recebendo o erro: "O URL fornecido não é permitido pela configuração do aplicativo"
Ram Rachum
1
Trabalhando bem. Só quero comentar que isso só funciona com 'localhost' como na resposta. Tentei com 127.0.0.1:8000 e não funcionou
ePi272314
30

Isso mudou um pouco ao longo dos anos, mas acabei de colocá-lo para funcionar com um webapp que estou executando no localhost. Isso é o que eu fiz:

  1. Vá para https://developers.facebook.com/apps
  2. Selecione seu aplicativo.
  3. Selecione Configurações> Básico na barra de navegação esquerda.
  4. Clique no botão Adicionar plataforma na parte inferior da página.
  5. Clique no site
  6. Insira http://localhost:8080/para o URL do site.
  7. Clique no botão Início rápido à direita da URL do site que você acabou de inserir.
  8. Uma nova guia será aberta. Nessa guia, desça até a seção "Conte-nos sobre seu site" e insira novamente http://localhost:8080/o URL do site.
  9. Clique no botão Avançar.
  10. Tentei fazer o login novamente e funcionou dessa vez.

Boa sorte!

10GritSandpaper
fonte
2
existe uma maneira de usar dois domínios? localhost e o domínio usado para produção: /
JCarlosR
Não funcionando: ainda preso em, URL bloqueado: este redirecionamento falhou porque o URI de redirecionamento não está na lista de permissões nas configurações OAuth do cliente do aplicativo. Certifique-se de que o cliente e os logins OAuth da web estejam ativados e adicione todos os seus domínios de aplicativo como URIs de redirecionamento OAuth válidos.
Nikunj Dhimar
28

Solução de trabalho 2018

Levei muito tempo para descobrir isso, então vou compartilhar minha solução.

Tentei todas as respostas sugeridas, mas nada funcionou para mim e, no final, tudo que tive que fazer foi ir para https://developers.facebook.com/apps/YOUR_APP_ID/fb-login/settings/ e adicionar meu URL de retorno completo nos URIs de redirecionamento OAuth válidos caixa .

No meu caso, usando ruby ​​on rails, meu url ficou assim http://localhost:3000/user/auth/facebook/callback.

E logo depois de adicionar, tudo começou a funcionar! Espero que isso ajude alguém a enfrentar esse problema.

GuilPejon
fonte
Obrigado! Surpreendentemente, você tem uma solução viável perfeita para o momento atual! Felicidades.
nakhodkin
sim obrigado. Isso funcionou para mim. Eu adicionei localhost: 5001 à seção: URIs de redirecionamento OAuth válidos e habilitei: Embedded Browser OAuth Login
David John Coleman II
Isso também funcionou para mim. Esta é a solução de trabalho atual. Criei uma versão de teste do meu aplicativo para o login do Facebook no localhost. (Até que o Facebook mude as coisas novamente!)
Red3
3
Obrigado! PÃO PITA. Depois de adicionar isso, este aviso apareceu. Em março, estaremos fazendo uma atualização de segurança nas configurações do seu aplicativo que invalidará chamadas de URIs não listados no campo URIs de redirecionamento OAuth válidos abaixo. Essa atualização vem em resposta a atividades maliciosas que vimos em nossa plataforma, e queremos proteger seu aplicativo ou site exigindo um novo modo estrito para redirecionar URIs Parece que eles começaram cedo?
dbinott
1
Obrigado! Levei muito tempo também (até encontrar essa resposta). O problema é que o erro que você obtém do FB sugere que você deve adicionar seu domínio aos "domínios do aplicativo", o que não tem nada a ver com o problema real. Obrigado por desperdiçar meu tempo novamente FB :(
Arno van Oordt
11

Isso é o que eu costumava fazer.

Se você estiver usando o Windows, precisará modificar o arquivo host. O local do arquivo host será em%SystemRoot%\System32\drivers\etc\

Adicione uma nova linha no arquivo host como esta

127.0.0.1    localhost.YOUR-SITE-NAME.com

Salve o arquivo host.

Vá para o painel de controle de configuração de aplicativos FB e dê localhost.YOUR-SITE-NAME.comno campo de domínio de aplicativos. Salve as alterações.

Agora carregue seu ambiente local como localhost.YOUR-SITE-NAME.comem seu navegador.

NB: mude YOUR-SITE-NAME pelo seu nome de domínio.

Kiranvj
fonte
7

Solução de trabalho (agosto de 2018)

Primeiro, selecione seu aplicativo no painel de desenvolvedores .

Em seguida, certifique-se de que seu aplicativo esteja no modo de desenvolvimento , pois ele permite localhost sobre HTTP. Para fazer isso, clique no botão de alternância situado no canto superior direito da página do seu aplicativo.

Por fim, siga as notas abaixo, pois elas podem causar problemas se preenchidas incorretamente:

  • Settings > Basic > App Domains deveria estar vazio
  • Products > Facebook Login > Settings > Valid OAuth Redirect URIs deveria estar vazio
aymericbeaumet
fonte
ainda está funcionando? recebo um erro de etiqueta em branco se colocar meu aplicativo no modo de desenvolvimento.
sagar limbu
1
Eu tenho uma versão de teste do meu aplicativo produtivo (sempre em modo de desenvolvimento), limpei todos os campos, mas ainda recebo o erro: OAuthException URI missmatch
Andreas Richter
Quando seu aplicativo está em modo de desenvolvimento, você não pode testar nenhum endpoint que exija o envio de seu aplicativo
ricks,
Obrigado mano, sim, isso foi difícil de finalmente descobrir
Anthony
5

Você pode deixar em branco ou usar localhost, http://localhost:85/my_app/é o URL

phwd
fonte
sim, eu sei que é o url, mas o que foi feito no tutorial, e ele afirma que funcionou ... foi por isso que tentei ... a propósito, também tentei localhost: 85 mas não funcionou, mas quando Tentei localhost, mas funcionou ... O motivo de eu querer usar: 85 é porque essa é a porta que meu apache está usando ...
Sanya Tobi
A porta é uma informação de protocolo, você não precisa dela para esse campo. Como diz a mensagem: não deve conter informações de protocolo.
phwd
deixar em branco resolveu. E mais uma coisa que não aceita localhostcomo nome de domínio.
shashwat de
3

Quando escrevi aquele tutorial, naquela época, a porta era permitida no domínio do aplicativo. E eu realmente consigo executar o aplicativo com 81 portas (servidor wamp). Agora parece que o facebook não está permitindo a porta na url. Você pode usar localhostno domínio do aplicativo.

Vou atualizar as informações o mais rápido possível. Estou tentando encontrar uma solução.

Uma solução temporária é usar localtunnel http://progrium.com/localtunnel/

Ankur
fonte
3

Eu testei isso e funciona para mim [fevereiro de 2020]:

  1. Instale o ngrok e obtenha seu url https (exemplo: https://a3asdf23.ngrok.io )
  2. Ir para o FB Painel da App (básico) -> sob App Domínios -> adicionar https://a3asdf23.ngrok.io, https://ngrok.io.
  3. Na mesma página, role totalmente para baixo, Adicionar plataforma (site), defina a url como https://a3asdf23.ngrok.io. Não terminar ainda, clique em QuickStart -> em "Conte-nos sobre seu site", coloque o mesmo url https://a3asdf23.ngrok.io.
  4. Então vá para os produtos -> Facebook Login -> Configurações -> Configurações OAuth do cliente -> Válido OAuth Redirect URI -> adicioná-los https://a3asdf23.ngrok.io, https://ngrok.io, https://a3asdf23.ngrok.io/{your-redirect-uri}.

E aqui está. Obrigado mais tarde :)

Yong Ching
fonte
1

Você deve criar um túnel para compartilhar seu host local; Ngrok é maby a maneira mais fácil de fazer isso.

55651909-089b-4e04-9408-47c5bf
fonte
1

https://ngrok.com

Acesse https://ngrok.com/ link para baixar o ngrok e extrair o arquivo. Abra o cmd (search cmd) Vá para o diretório onde o ngrok foi extraído. Abra o ngrok na linha de comando, ex: c: /ngrok/ngrok.exe [porta] ou cd c: / ngrok e, em seguida, ngrok 80 (ngrok [porta]) Você obterá

ngrok

Tunnel Status                 online
Version                       1.3/1.3
Forwarding                    http://3ahsdfhska.ngrok.com -> 127.0.0.1:80
Forwarding                    https://3ahsdfhska.ngrok.com -> 127.0.0.1:80
Web Interface                 http://127.0.0.1:4040
# Conn                        0
Avg Conn Time                 0.00ms

NÃO SE ESQUEÇA de ter certeza de que seu servidor wamp está aberto na mesma porta ... (como verificar -> goto-> wampicon-> apache-> httpd.conf procure a porta ou 80 (padrão) use isso para ngrok.exe 80)

http://3ahsdfhska.ngrok.com

será o URL para acessar seu localhost online

Abhilash Aruva
fonte
Eu gostaria de testar o ngrok para direcionar ao meu servlet. Meu servlet é executado em um caminho específico. Por exemplo: localhost: 8080 / plugins / servlet Como posso instruir o ngrok a buscar lá?
Jorge Valois
0

Se você está recebendo os erros de protocolo, não só precisa REMOVER o Http: //, mas também se houver alguma barra invertida no final do endereço da web, você deve removê-la também ou não funcionará. Eu fiz isso e funcionou perfeitamente! Olá!

há um
fonte
0

Jogando mais uma solução na mistura:

Eu configurei meu site de acordo com as instruções, em seguida, adicionei um segundo aplicativo (Facebook Canvas) e defini esse URL como http://localhost:XXXXX. Agora posso acessar o FB localmente e em produção.

Matt Cashatt
fonte
0

Eu desenvolvo localmente e uso este URL: localhost/fb

Então, tive que adicionar um site com o seguinte URL: http://localhost

Em Domínios de aplicativos eu adicionei localhost.

Agora funciona. O único problema que tive foi que você tem que usar este URL em todos os seus scripts. Por exemplo

$loginUrl = $helper->getLoginUrl('http://localhost/fb/login-callback.php', $permissions);

Você não pode usar 127.0.0.1aqui ...

testando
fonte
0

Tentei todas as soluções mencionadas aqui, mas nenhuma delas funcionou.

O que resolveu meu problema foi copiar o "URI de redirecionamento OAuth" do firebase para o aplicativo do Facebook "URIs de redirecionamento OAuth válidos"

Eu deixei todos os domínios em branco

Shaharyar Kirmani
fonte