我正在使用库Guardian
1.0,并使用如下定义的auth管道:
defmodule DokkitoWeb.Plug.GuardianPipeline do
use Guardian.Plug.Pipeline, otp_app: :dokkito,
module: DokkitoWeb.Guardian,
error_handler: DokkitoWeb.Plug.AuthErrorHandler,
key: :user
plug Guardian.Plug.VerifySession
plug Guardian.Plug.EnsureAuthenticated
plug Guardian.Plug.LoadResource
end
我在控制器中的代码签名正在执行:
DokkitoWeb.Guardian.Plug.sign_in(conn, user, key: :user)
当我通过管道时,我正在
{
"message": "unauthenticated"
}
如果我在key: :user
调用和管道中删除了sign_in
,那么它的身份验证正常。我做错了什么?
答案 0 :(得分:0)
基本上我需要写:
conn = Guardian.Plug.sign_in(conn, user, %{}, key: :user)
否则密钥被添加到索赔而不是选项。我的上帝调试很复杂......