3

私は比較的 Elixir と Phoenix に慣れていません (これが原因で、何が起こっているのかわかりません)。

Google 認証を使用して Phoenix アプリで 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) exited in: :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) 処理なし

何が起きてる?

4

1 に答える 1

2

これはコメントのはずですが、長すぎました。

他にエラーはありませんか?これは不完全に見えるからです。

Elixir アプリケーションで何か問題が発生した場合、監視ツリーは、エラーに遭遇したすべてのプロセスが終了することを確認します。そのため、最初の行が表示されますGreatStrides.Endpoint terminated

2 行目と 3 行目は通常のログです。

4 行目は、呼び出しエラーgen_serverです。3 つの引数すべてを含む関数呼び出しを出力します: server, request, timeout. 引数が正しいかどうかを調べることができますが、それらは hackneys クライアント レコードの一部です。GenServer クライアントはここで応答を無限に待つだけです。何も問題はありません。

これは、GenServer 内から別のクラッシュ レポートがあるはずであることを意味します。前作と似てるかもしれません。そこに本当の理由を見つけることができるはずです。作業中に GenServer がクラッシュした場合、応答を待っているすべてのクライアントにそのことが通知されますexited

編集: @Trevoke による編集後

問題は、hackneygen_server が実行されていなかったため、エラーが発生したことでした。で確認したところ、アプリケーションがまったく実行されておらず、 のセクションに追加する必要があるApplication.loaded_applicationsことが判明しました。hackneyapplicationsmix.exs

于 2016-03-24T07:57:40.893 に答える