【发布时间】:2016-01-22 09:53:23
【问题描述】:
将此代码示例作为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
所以,我通过Plug.Conn.assign/3 将变量current_user 传递到下游。在 Phoenix 控制器中获取此变量的最佳方法是什么?我正在这样做(下面的代码),但我确信有更好的方法来做到这一点。
def index(conn, _) do
user_id = conn.assigns.current_user.id
end
【问题讨论】: