Phoenix+Ueberauth+Google+Heroku:内部服务器错误



我在长生不老药和凤凰城相对较新(这可能是我不知道发生了什么的原因)。

我正在尝试在Phoenix应用程序上使用谷歌身份验证来设置Ueberauth。

我关注了示例应用程序https://github.com/ueberauth/ueberauth_example尽我所能忠实。

我像凤凰城的医生说的那样为Heroku准备了这个应用程序。主页显示正确。当我点击按钮开始身份验证过程时,我会到达谷歌,谷歌会问我是否真的想进行身份验证。当我点击"是"时,我得到了一个内部服务器错误,我真的不知道它发生了什么

以下是我在日志中的内容:

2016-03-24T04:02:14.429507+00:0 app[web.1]:04:02:14.429[error]#PID<0.364.0>运行GreatStrides。端点终止

2016-03-24T04:02:14.429520+00:0 app[web.1]:服务器:MYHEROKUAPP:80(http)

2016-03-24T04:02:14.429521+00:0 app[web.1]:请求:GET/auth/google/recallback?代码=ACODEGOESHERE

2016-03-24T04:02:14.429522+000:00 app[web.1]:**(退出)退出于:gen_server.call(:hackney_manager,{:new_request,#PID<0.364.0>,#Reference<0.0.1.2373>,{;client,:undefined,{:metrics_ng,:metrics_dummy},:hackney _ssl_transport,'accounts.google.com',443,"accounts.google.com",[],nil,nil

2016-03-24T11:54:59.195968+00:00 app[web.1]:**(退出)无进程

这是怎么回事?

这应该是一条注释,但太长了。

你还有其他错误吗?因为这看起来不完整。

当Elixir应用程序出现错误时,监督树会确保所有遇到错误的进程都会终止。这就是为什么您可以看到第一行GreatStrides.Endpoint terminated

第二行和第三行只是普通日志。

第四行是调用gen_server时出错。它打印带有所有三个参数的函数调用:server, request, timeout。如果论点是正确的,您可以检查它们,但这些都是hackneys客户端记录的一些内部内容。GenServer客户端只需要在这里等待答案无限长的时间——应该不会出错。

这意味着GenServer内部应该会有另一个崩溃报告。它可以与前一个类似。在那里你应该能够找到真正的原因。如果GenServer在执行其工作时崩溃,则会通知所有等待应答的客户端它是exited

编辑:经过@Trevoke 编辑

问题是hackney gen_server没有运行,这导致了错误。与Application.loaded_applications的检查证明hackney应用程序根本没有运行,需要将其添加到mix.exs中的applications部分。

相关内容

  • 没有找到相关文章

最新更新