Phoenix.Token
を使用してトークンに署名して検証するPhoenixアプリケーションがあります。MixタスクでPhoenix.Tokenを使用しようとしたときにエラーが発生しました
これはアプリ自体でうまくいきますが、Phoenix.Token
をミックスタスクから使用しようとすると奇妙なエラーが発生します。ここで
は、最小限の例です:私はこのタスクを実行すると
defmodule Mix.Tasks.SignSomething do
use Mix.Task
alias MyApp.Endpoint
@shortdoc "sign something"
def run(_args) do
IO.inspect Phoenix.Token.sign(Endpoint, "key", "val")
end
end
は、私は以下を参照してください。
** (ArgumentError) argument error
(stdlib) :ets.lookup(MyApp.Endpoint, :secret_key_base)
lib/phoenix/endpoint.ex:505: Mealthy.Web.Endpoint.config/2
(phoenix) lib/phoenix/token.ex:201: Phoenix.Token.get_endpoint_key_base/1
は、これは私が:secret_key_base
を設定していないことを意味すると表示されますが、それは真実ではありません。それはconfig.exs
にあり、それを設定した直後のIO.puts
ならば、その出力が見えます。
これを修正するにはどうすればよいですか?