7
Staje się to przykład kodu jako wtyczki do obsługi uwierzytelniania:current_user kontroler Phoenix przekazywane poprzez Plug
defmodule Financeweb.APIAuth do
...
def call(conn, _opts) do
...
if authenticated_user do
conn
|> assign(:current_user, user)
else
conn
|> send_resp(401, "{\"error\":\"unauthorized\"}")
|> halt
end
end
end
Tak, jestem przechodzącej zmiennej current_user
za pośrednictwem Plug.Conn.assign/3
. Jaki jest najlepszy sposób na uzyskanie tej zmiennej w kontrolerze Phoenix? Robię to w ten sposób (kod poniżej), ale jestem pewien, że jest lepszy sposób na zrobienie tego.
def index(conn, _) do
user_id = conn.assigns.current_user.id
end