問題タブ [ueberauth]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
heroku - Phoenix + Ueberauth + Google + Heroku : 内部サーバー エラー
私は比較的 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) 処理なし
何が起きてる?
elixir - Phoenix フレームワークで Uberauth と Guardian を使用してユーザーを認証する方法
Phoenix フレームワークで Ueberauth と Guardian を使用している Authenticae ユーザーが従うことができるチュートリアルやヘルプはありますか?
次の投稿を見たことがありますが、主に常習者とパスポートライブラリについて話しています
phoenix-framework - Ueberauth プラグが認証の割り当てに失敗し、conn への失敗
Phoenix での認証の追加を簡素化するために構築中のライブラリでUeberauthを利用しています。
サンプル リポジトリをセットアップしました。コードはv2 ブランチで確認できます。
現在、Ueberauth ID 戦略を実装しようとしています。Ueberauth プラグをコントローラーに追加しましたが、conn にueberauth_failure
とueberauth_auth
が設定されていないようassigns
です。代わりに、conn.assigns
です%{}
。
私は、この例のcurlリクエストでそれを期待しています:
curl -i -X POST localhost:4000/identity/callback -d '{"user": {"email": "test@example.com", "password": "password"}}'
それらの少なくとも 1 つ (ueberauth_failure
またはueberauth_auth
) が設定されますか?
Ueberauth はここで構成されます。https://github.com/britton-jb/test_sentinel_example/blob/master/config/config.exs#L58
戦略を実装するコントローラーはhttps://github.com/britton-jb/sentinel/blob/v2/lib/sentinel/controllers/json/session_controller.ex
コントローラーとルートはhttps://github.com/britton-jb/test_sentinel_example/blob/master/web/router.ex#L26
このマクロによって:https://github.com/britton-jb/sentinel/blob/v2/lib/sentinel.ex#L50