Elixir Guardian 自定义 header 验证而不是授权

Elixir Guardian custom header verification instead of Authorization

我的端点方法有两个标记。一个在 Authorization 的键内,另一个在 App-token 内,但找不到任何 docs/support 或任何解决此问题的方法。 validate/verify 两个令牌

的可能解决方法是什么

我看到了这个选项 plug(Guardian.Plug.VerifyHeader, claims: %{"typ" => "access"}, realm: "Bearer") 用于领域但不属于 custom header name 谢谢

即将发布的 Guardian 版本 (post 1.1.0) 的 recent PR 将允许您在任何 header 上支持令牌验证。自定义 header 可以通过插入 Guardian.Plug.VerifyHeader 来验证,如下所示:

plug Guardian.Plug.VerifyHeader,
  header_name: CUSTOM_HEADER_NAME,
  realm: :none,
  claims: %{"typ" => "access"}

其中 CUSTOM_HEADER_NAME 是要在其中搜索的 header 的名称,在您的特定情况下是 "App-token"。

Authorization header 中找到的其他标记和默认 "realm" 可以省略 header_name 选项,如下所示:

plug Guardian.Plug.VerifyHeader, claims: %{"typ" => "access"}