Ueberauth: (FunctionClauseError) no function clause matching in Keyword.merge/2

問題

phoenixueberauth_identity を組み込もうとしたところ、コンパイル時に (FunctionClauseError) no function clause matching in Keyword.merge/2 というエラーが発生する。

環境

  • Elixir 1.2.6
  • Phoenix 1.1.4
  • ueberauth_identity 0.2.3

解決

config.exs に設定を追加する。

config :ueberauth, Ueberauth,
  providers: [
    identity: {Ueberauth.Strategy.Identity, [
      callback_methods: ["POST"]
    ]}
  ]

感想

エラーメッセージ・スタックトレースからでは原因の予想が全然つかなかった。 ドキュメントには、設定ファイルに追加しろって書いてある。。。