Estou tentando testar os botões OAuth , mas todos (Facebook, Twitter, LinkedIn) retornam com erros que parecem sinalizar que não posso testá-los ou usá-los em um URL local .
Como as pessoas geralmente trabalham no desenvolvimento com coisas do OAuth, se todas parecem exigir um ambiente de conexões não-dev e não-local ?
Respostas:
Atualize outubro de 2016 : Mais fácil agora: use lvh.me que sempre aponta para
127.0.0.1
.Resposta anterior :
Como a solicitação de retorno de chamada é emitida pelo navegador, como uma resposta de redirecionamento HTTP, você pode configurar o arquivo .hosts ou equivalente para apontar um domínio que não
localhost
seja 127.0.0.1.Digamos, por exemplo, você registrar o seguinte callback com o Twitter:
http://www.publicdomain.com/callback/
. Certifique-se de quewww.publicdomain.com
aponta para 127.0.0.1 no arquivo hosts e que o twitter possa fazer uma pesquisa de DNS bem-sucedida em www.publicdomain.com, ou seja, o domínio precisa existir e o retorno de chamada específico provavelmente deve retornar uma mensagem de status 200, se solicitado.EDIT :
Acabei de ler o seguinte artigo: http://www.tonyamoyal.com/2009/08/17/how-to-quickly-set-up-a-test-for-twitter-oauth-authentication-from-your-local -machine / , que foi vinculado a esta pergunta: Twitter oAuth callbackUrl - desenvolvimento de host local .
Para citar o artigo:
Isso deve ser mais fácil do que mexer no arquivo .hosts.
Observe que agora (agosto '14) o bit.ly não está permitindo o encaminhamento de link para o host local; no entanto, o encurtador de link do Google funciona.
Edição do PS: (Nov '18): o encurtador de link do Google parou de dar suporte ao host local ou 127.0.0.1.
fonte
.me
) em URLs de redirecionamento. Como resultado, o lvh.me não estava funcionando. Encontrei sucesso com o lacolhost.com .Ou você pode usar https://tolocalhost.com/ e configurar como ele deve redirecionar um retorno de chamada para o site local. Você pode especificar o nome do host (se diferente do localhost, ou seja, yourapp.local e o número da porta). Apenas para fins de desenvolvimento.
fonte
Você também pode usar o ngrok: https://ngrok.com/ . Eu o uso o tempo todo para ter um servidor público em execução no meu host local. Espero que isto ajude.
Outras opções que até fornecem seu próprio domínio personalizado gratuitamente são serveo.net e https://localtunnel.github.io/www/
fonte
./ngrok http 8080 -host-header="localhost:8080"
e eu estava executando com um URL público.O Google não permite a API de autenticação de teste no host local usando
http://webporject.dev
ou.loc
.etc e o link curto do Google, que também diminuíram seu URL local (http://webporject.dev
)bit.ly
:). O Google aceita apenas URL que começahttp://localhost/
...Se você quiser testar a API de autenticação do Google, siga estas etapas ...
se você usar,
openserver
vá para o painel de configurações, clique emaliases tab
e clique no menu suspenso e encontrelocalhost
e escolha.agora você deve escolher sua pasta raiz do projeto web local clicando no próximo menu suspenso ao lado do primeiro menu suspenso.
e clique em um botão chamado
add
e reinicie o opensever.agora seu projeto local disponível neste link
http://localhost/
também é possível colar esse URL local no google auth api noredirect url
campo ...fonte
Você pode editar o arquivo hosts no Windows ou Linux Windows: C: \ Windows \ System32 \ Drivers \ etc \ hosts Linux: / etc / hosts
depois de terminar seus testes, basta comentar a linha que você adiciona para desativá-la
fonte
Para usuários de Mac, edite o
/etc/hosts
arquivo. Você deve usarsudo vi /etc/hosts
se for somente leitura. Após a autorização, o servidor oauth envia a URL de retorno de chamada e, como essa URL de retorno é renderizada no navegador local, a configuração de DNS local funcionará:fonte
Tomando o Google OAuth como referência
Na guia Cliente OAuth
(http://localhost:3000)
aos URIs de origem do JavaScript autorizadoNa tela de consentimento do OAuth
mywebsite.com
a domínios autorizadosEdite o arquivo hosts no windows ou linux
Windows C:\Windows\System32\Drivers\etc\hosts
Linux : /etc/hosts
para adicionar127.0.0.1 mywebsite.com
(NB Comente se houver algum outro 127.0.0.1)fonte