J'ai une application Phoenix qui utilise Phoenix.Token
pour signer et vérifier des jetons.Erreur lors de l'utilisation de `Phoenix.Token` dans une tâche de mélange
Cela fonctionne très bien dans l'application elle-même, mais je reçois une erreur étrange lorsque vous essayez d'utiliser Phoenix.Token
à partir d'une tâche de mixage.
Voici un exemple minimal:
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
Quand je lance cette tâche, je vois:
** (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
Cela semble impliquer que je ne l'ai pas configuré :secret_key_base
, mais ce n'est pas vrai; c'est dans config.exs
, et si je IO.puts
directement après la configuration, je vois cette sortie.
Comment résoudre ce problème?