我对Elixir和Phoenix相对较新(这可能是我不知道发生了什么的原因)。
我正在尝试在Phoenix应用程序上设置使用Google身份验证的Ueberauth。
我尽可能忠实地遵循了示例应用https://github.com/ueberauth/ueberauth_example。
我按照Phoenix文档准备了Heroku应用程序。主页显示正常。当我单击开始认证过程的按钮时,我到达了Google,并且Google问我是否要进行身份验证。当我点击是时,我收到一个内部服务器错误,而我真的不知道发生了什么。
以下是日志中的内容:
2016-03-24T04:02:14.429507+00:00 app[web.1]: 04:02:14.429 [错误] #PID<0.364.0> 运行的 GreatStrides.Endpoint 终止
2016-03-24T04:02:14.429520+00:00 app[web.1]: 服务器: MYHEROKUAPP:80 (http)
2016-03-24T04:02:14.429521+00:00 app[web.1]: 请求:GET /auth/google/callback?code=ACODEGOESHERE
2016-03-24T04:02:14.429522+00:00 app[web.1]: ** (exit) 在以下情况下退出: :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, nil, true, :hackney_pool, 5000, false, 5, false, 5, nil, nil, nil, :undefined, :start, nil, :normal, false, false, false, :undefined, false, nil, :waiting, nil, 4096, "", [], :undefined, nil, nil, nil, nil, :undefined, nil}}, :infinity)
2016-03-24T11:54:59.195968+00:00 app[web.1]: ** (EXIT) 没有进程
这里发生了什么?
:hackney_manager
进程从未存在过。它被启动了吗?您可以检查Application.loaded_applications
吗?是否有:hackney
?当您输入Application.start(:hackney)
时会发生什么? - tkowalmix.exs
的应用程序列表中添加了:httpoison
,这样就解决了问题。现在我只是不知道为什么会发生这种情况,以及为什么我的代码与上面链接的示例应用程序存在不匹配。 - Trevokemix.exs
中列出应用程序)开头,则它应该对整个系统可用。不确定我还能做什么来调试这个问题。 - tkowal