Respostas:
Edit: 15-02-2012 Isto é como usar a autenticação FB para um site localhost.
Acho mais escalável e conveniente configurar um segundo aplicativo do Facebook. Se eu estiver criando o MyApp, criarei um segundo chamado MyApp-dev.
Website
caixa de seleção em 'Selecionar como seu aplicativo se integra ao Facebook' (na versão recente do Facebook, você pode encontrar isso em Configurações> Básico> Adicionar plataforma - e selecione o site)se Rails.env == 'desenvolvimento' || Rails.env == 'teste' Rails.application.config.middleware.use OmniAuth :: Builder do provedor: facebook, 'DEV_APP_ID', 'DEV_APP_SECRET' fim outro # Produção Rails.application.config.middleware.use OmniAuth :: Builder do provedor: facebook, 'PRODUCTION_APP_ID', 'PRODUCTION_APP_SECRET' fim fim
Prefiro esse método porque, uma vez configurado, os colegas de trabalho e outras máquinas não têm configuração adicional.
Claro que você pode, basta adicionar o URL localhost (sem "http") no seu app_domain e depois adicionar no seu site_url http://localhost
(com http)
Atualizar
Agora o Facebook muda um pouco as coisas, basta acessar as configurações do aplicativo e, no URL do site, basta adicionar http: //localhost
e deixar o domínio do aplicativo vazio
Aqui está a minha configuração e funciona bem para a API do PHP:
domínio do aplicativo
http://localhost
URL do site
http://localhost:8082/
NOTA: A partir de 2012, o Facebook permite o registro de "localhost" como URL de retorno. Você ainda pode precisar de uma solução semelhante para outros provedores (por exemplo, Microsoft one).
Se você precisar de um nome de domínio real registrado no Facebook (como my.really.own.domain.com), poderá redirecionar localmente solicitações para esse domínio para sua máquina. A abordagem mais fácil de usar em qualquer sistema operacional é alterar o arquivo "hosts" para mapear o domínio para 127.0.0.1 (consulte http://technet.microsoft.com/en-us/library/bb727005.aspx#EDAA e https: / /serverfault.com/questions/118290/cname-record-alias-in-windows-hosts-file ).
Normalmente, eu uso o Fiddler para fazer isso por mim (no Windows com IIS local) - veja exemplos em http://www.fiddler2.com/Fiddler/Dev/ScriptSamples.asp .
if (oSession.HostnameIs("my.really.own.domain.com")) {
oSession.host="localhost:80";
}
A abordagem de abordagens de arquivos de hosts não funciona com o Visual Studio Development Server, pois exige que os URLs recebidos sejam localhost / 127.0.0.1. Se você precisar trabalhar com ele (ou possivelmente com o IIS Express) para substituir o host - Usando o Fiddler com o IIS7 Express
Com o novo centro de desenvolvimento, agora é mais fácil:
1) Deixe os domínios do aplicativo em branco.
2) Clique em Adicionar plataforma.
3) O URL do site deve ser igual ao caminho completo do seu host local.
4) Salvar alterações
Acabei de descobrir uma solução alternativa: você pode tornar sua máquina local acessível usando http://localtunnel.com . Você precisará (temporariamente) alterar alguns URLs usados no código do aplicativo / html, para que os links apontem para o domínio temporário, mas pelo menos o facebook possa acessar sua máquina.
Nas configurações básicas do seu aplicativo ( https://developers.facebook.com/apps ) em Configurações-> Básico-> selecione como o seu aplicativo se integra ao Facebook ...
Use "URL do site:" e "URL do site para celular:" para armazenar seus URLs de produção e desenvolvimento, respectivamente. Ambos os sites poderão se autenticar. Estou apenas usando o Facebook para autenticação, por isso não preciso de nenhum dos recursos de redirecionamento de sites para dispositivos móveis. Normalmente, altero o "URL do site móvel:" para o meu site "localhost: 12345" enquanto estou testando a autenticação e, em seguida, restauro-o ao normal quando terminar.
Há sim ! Minha solução funciona quando você cria um aplicativo, mas deseja usar a autenticação do facebook no seu site. A solução abaixo NÃO é necessária quando você deseja criar um aplicativo integrado à página do FB.
O problema é que você não pode colocar "localhost" como um domínio na página de configuração do facebook do seu aplicativo. Razões de segurança ?
Você precisa ir ao seu arquivo host, no OSX / Linux etc / hosts, e adicionar a seguinte linha: 127.0.0.1 dev.yourdomain.com
O domínio que você coloca o que quiser. Um erro é adicionar esta linha: localhost dev.yourdomain.com (pelo menos no osx snow leopard no não funciona).
Então você precisa limpar o cache do DNS. No OSX: digite dscacheutil -flushcache no terminal. Por fim, volte ao site do desenvolvedor do facebook online e, na página de configuração do seu aplicativo, você pode adicionar o domínio "dev.seudominio.com".
Se você usa um programa como Mamp, Easyphp ou qualquer outra coisa, verifique se a porta do Apache é 80.
Esta solução deve funcionar no Windows porque também possui um arquivo de hosts. No entanto, até onde me lembro, o Windows 7 não usa mais esse arquivo, mas esse truque deve funcionar se você encontrar uma maneira de forçar o Windows a usar um arquivo de hosts.
Você precisa escolher o 'login do facebook' do produto do Facebook e ativar o Login do Cliente OAuth, 'Login do OAuth da Web' e 'Login do OAuth do navegador incorporado', mesmo se você fornecer o URL do host local Ele funcionará
isso funciona em junho de 2018, mesmo após o requisito HTTPS. Parece que um aplicativo de teste não requer https:
crie um aplicativo de teste: https://developers.facebook.com/docs/apps/test-apps/
depois, no aplicativo de teste, siga as etapas simples deste vídeo: https://www.youtube.com/watch?v=7DuRvf7Jtkg
Acho que você deve conseguir desenvolver aplicativos usando o servidor da web de desenvolvimento do visual studio: Inicie um novo aplicativo do FaceBook em: http://www.facebook.com/developers/ . Em seguida, defina as configurações do URL do site e do URL da tela como a instância em execução do site, por exemplo: http: // localhost: 1062 /
Aqui estão alguns links que devem ajudá-lo a começar com o FaceBook:
Espero que isto ajude.
Tente isso ---
https://www.facebook.com/help/community/question/?id=589302607826562
1 - Clique em Aplicativos e selecione seu aplicativo.
2 - Clique no botão Configurações no lado esquerdo da tela.
3 - Nas configurações básicas, clique no botão Adicionar plataforma abaixo da configuração.
4 - Selecione Site na caixa de diálogo da plataforma.
5 - Digite seu URL (o host local funciona aqui).
6 - Na entrada de texto Domínios do aplicativo, adicione seu domínio que corresponda ao da URL.
7 - Salve suas configurações.
Suponha que você tenha registrado seu aplicativo como:
app.domain.com
Você só precisa modificar o arquivo / etc / hosts adicionando
127.0.0.1 dev01.app.domain.com
Em seguida, modifique sua configuração do apache
ServerName dev01.app.domain.com
e reinicie o apache.
Você precisará colocar seu URL em uma variável para usá-lo como parâmetro XML em algumas chamadas:
<fb:login-button registration-url="http://<?=$URL?>/register" />
Não tenha credibilidade suficiente para comentar a resposta votada, mas pelo menos no meu ambiente de rails (execução 4), o rails s está http://localhost:3000
, não http://www.localhost:3000
. Quando mudei para http://localhost:3000
, funcionou muito bem. Não há necessidade de editar nenhum arquivo de hosts.
Minha solução funciona bem no host local ..... Para o uso de URLs do site http://localhost/
e para domínios de localhost/folder_name
aplicativos, descanse tudo é o mesmo ....... funciona bem (embora seja exibido como redflag no domínio de aplicativo ... o aplicativo está funcionando bem)
O aplicativo será executado perfeitamente no localhost: 3000, você só precisa especificar o endereço https no qual o aplicativo estará ativo quando estiver no modo de produção.
A opção 2 é fornecer o URL ou o site heroku, que permite que você tenha um aplicativo de amostra no modo de produção.
Atualização mais recente: você não precisa fornecer URLs se estiver testando-o em desenvolvimento. Você pode deixar os campos em branco. Verifique se o seu aplicativo está no modo de desenvolvimento. Caso contrário, desative o status do ativo.
Não há necessidade de fornecer URL do site, domínios de aplicativo ou redirecionar válido oauth uri.