Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 如何通过漫游框连接到QBO API(oauth)?_Laravel_Oauth_Vagrant_Quickbooks Online - Fatal编程技术网

Laravel 如何通过漫游框连接到QBO API(oauth)?

Laravel 如何通过漫游框连接到QBO API(oauth)?,laravel,oauth,vagrant,quickbooks-online,Laravel,Oauth,Vagrant,Quickbooks Online,我试图通过oauth从一个流浪者框(Laravel Homestead)连接到Quickbooks在线API,但是,单击“连接我”后,会打开一个新窗口,重定向到myhost.com/oauth.php并返回一个空白的白色页面。通常,第二个窗口应关闭并重定向回myhost.com,并显示“You have connected to Quickbooks!”消息 这在我的服务器上运行良好。我试图找出配置上的不同之处,但没有成功 我的/etc/hosts文件显示: 192.168.10.10 ww

我试图通过oauth从一个流浪者框(Laravel Homestead)连接到Quickbooks在线API,但是,单击“连接我”后,会打开一个新窗口,重定向到myhost.com/oauth.php并返回一个空白的白色页面。通常,第二个窗口应关闭并重定向回myhost.com,并显示“You have connected to Quickbooks!”消息

这在我的服务器上运行良好。我试图找出配置上的不同之处,但没有成功

我的
/etc/hosts
文件显示:

192.168.10.10   www.rugapp.com

192.168.10.10  homestead  # VAGRANT: fea709db2e32a39618e4b4c9f1fe1026 (default) / 88840d50-7152-4760-9be1-5f68ce5fde1d
如上所示,我安装了vagrant插件hostsupdater并运行了两个命令:

config.vm.network:private_网络,ip:“192.168.10.10”

config.vm.hostname=“www.rugap.com”


是否可以通过“流浪者”框连接到Quickbooks Online

可能身份验证需要一个可公开访问的URL,主机名似乎映射到本地IP(身份验证服务无法访问)。你可以尝试使用隧道将你的应用程序公开访问,然后看看它是否有效(你会得到一个类似于public的URL)


我没有试过从流浪者的盒子里跑ngrok,但以下方法可能有效:

  • SSH进入你的流浪机器
  • 使用其网站上的链接下载(wget)ngrok并解压缩,或
  • 运行
    ngrok 80
    (它将转发来自端口80的流量,您可以使用您需要的任何端口)。这将启动隧道并提供转发URL

  • 我确实配置了ngrok来隧道我的应用程序。然而,确切的问题仍然存在。一定是别的原因。谢谢。ngrok为给定端口传输流量,它不会完全取代您的Web服务器,它只是转发其响应,以便可以公开服务。我用一些说明更新了我的答案。对于vagrant,根据问题中显示的IP,我必须运行
    ngrok 192.168.10.10:80
    ,效果非常好。我的应用程序被传送到公共地址。然而,原来的问题仍然存在。我的服务器和本地配置之间肯定还有其他一些区别。如果我正确读取了它们的配置,它们会提到一个参数grantur,部分描述会显示“确保它与应用程序的“开发”选项卡上的“设置”页中的“主机名域”字段的值相匹配”。是否只有当请求来自已配置的域时,身份验证才能工作?(这就解释了为什么它可以从您的服务器而不是从另一个主机名运行)。这仅在您的应用程序正在生产时才相关。我在(Domain.Here)中保留了默认值,它仍然可以与我的服务器一起使用。我真的很感谢你调查此事。现在,我将坚持只在我的服务器上开发。再次感谢。