【问题标题】:Guardian.Plug.VerifyHeader do nothing if no token / wrong tokenGuardian.Plug.VerifyHeader 如果没有令牌/错误令牌什么也不做
【发布时间】:2019-04-04 16:04:31
【问题描述】:

从路由器:

  pipeline :possibly_authorized do
    plug(:fetch_session)

    plug(
      Guardian.Plug.Pipeline,
      module: BoilerplateWeb.Guardian,
      error_handler: BoilerplateWeb.AuthErrorController
    )

    plug Guardian.Plug.VerifyHeader, realm: :none
    plug Guardian.Plug.LoadResource, allow_blank: true
  end

如果令牌丢失或错误,我如何让plug Guardian.Plug.VerifyHeader 什么都不做?现在它通过 error_handler 引发错误。

编辑:目标仍然是检查令牌,如果它存在/有效,那么下一个插件 (LoadResource) 将获得 current_user,如果不是,则 current_user 应该是 nil 而无需提升。

【问题讨论】:

  • VerifyHeader 将检查标头是否存在。如果你不想让它做任何事情,如果它是错误的,那么就不要包含它
  • 你可能的意思是如何让它做其他事情而不是引发错误?正如已经指出的那样,什么都不做是没有意义的。请尝试更清楚地描述您的目标。

标签: elixir phoenix-framework guardian


【解决方案1】:

基于https://github.com/ueberauth/guardian/blob/v1.2.1/lib/guardian/plug/verify_header.ex#L94

可以看到,在找不到token时,监护人什么都不做,只有在token无效时才停止。

【讨论】:

    猜你喜欢
    • 2022-07-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 2016-09-18
    • 2019-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多