Guardian 1.0在使用密钥选项时失败

时间:2018-02-20 16:25:18

标签: elixir phoenix-framework

我正在使用库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,那么它的身份验证正常。我做错了什么?

1 个答案:

答案 0 :(得分:0)

基本上我需要写: conn = Guardian.Plug.sign_in(conn, user, %{}, key: :user) 否则密钥被添加到索赔而不是选项。我的上帝调试很复杂......