【问题标题】:Elixir Guardian custom header verification instead of AuthorizationElixir Guardian 自定义标头验证而不是授权
【发布时间】:2018-10-29 07:03:32
【问题描述】:
我的 Endpoint 方法中有两个令牌。一个在Authorization 的键内,另一个在App-token 内,但找不到任何文档/支持或任何解决此问题的方法。验证/验证两个令牌的可能解决方法是什么
我看到了这个选项
plug(Guardian.Plug.VerifyHeader, claims: %{"typ" => "access"}, realm: "Bearer") 代表领域,但不是 custom header name
谢谢
【问题讨论】:
标签:
http-headers
authorization
elixir
guardian
【解决方案1】:
recent PR 用于即将发布的 Guardian 版本(发布 1.1.0)将允许您在任何标头上支持令牌验证。可以通过插入Guardian.Plug.VerifyHeader 来验证自定义标头,如下所示:
plug Guardian.Plug.VerifyHeader,
header_name: CUSTOM_HEADER_NAME,
realm: :none,
claims: %{"typ" => "access"}
其中CUSTOM_HEADER_NAME 是要在其中搜索的标头的名称,在您的特定情况下是“App-token”。
在Authorization 标头中找到的其他标记以及默认的"realm" 可以省略header_name 选项,如下所示:
plug Guardian.Plug.VerifyHeader, claims: %{"typ" => "access"}