У меня есть приложение Phoenix, которое использует Phoenix.Token
для подписи и проверки токенов.
Это прекрасно работает в самом приложении, но я получаю странную ошибку при попытке использовать Phoenix.Token
из задачи Mix.
Вот минимальный пример:
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
сразу после его настройки, я вижу этот вывод.
Как я могу это исправить?