Plug's init function not called at compile time in a Phoenix router

For your second question, I wouldn’t configure the string literal for your issuer, I’d either have that as an ENV_VAR, or app config or compile it into a Config module that you then use in your plug and your mix task. For example:

  pipeline :one_factor do
    plug Plugoid,
      issuer: Plugoid.Config.get(:gigalixir),
      client_id: "client1",
      ...
  end

And

defmodule Plugoid.Config do
  def get(:gigalixir) do
    "https://repentant-brief-fishingcat.gigalixirapp.com"
  end
end