我是Elixir
和Phoenix
的新手,我正在尝试使用{:comeonin, "~> 4.0"}
和{:guardian, "~> 1.0"}
验证我的应用程序,并有一个助手功能来检查用户是否登录:
defmodule Chatter.ViewHelper do
def current_user(conn), do: Guardian.Plug.current_resource(conn)
def logged_in?(conn) do
Guardian.Plug.authenticated?(conn)
end
end
但我得到了这个错误:
** (UndefinedFunctionError) function Guardian.Plug.authenticated?/1 is undefined or private.
Guardian文档在升级到v1.0
后没有正确引用某些API调用。您需要从自定义MyApp.Guardian
实现中调用这些函数,而不是从实际的Guardian
模块中调用。
假设您遵循指南来实现MyApp.Guardian
,则需要调用:
MyApp.Guardian.Plug.authenticated?(conn)
错误显示您试图在没有参数的情况下调用函数:
(UndefinedFunctionError) function Guardian.Plug.authenticated?/0
这里的/0
表示没有自变量。