Elixir Guardian自定义标头验证而非授权

时间:2018-10-29 07:03:32

标签: http-headers authorization elixir guardian

我的Endpoint方法有两个令牌。一个在Authorization的密钥内,另一个在App-token的密钥内,但找不到任何文档/支持或任何替代方法。验证/验证两个令牌的可能解决方法是什么

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

1 个答案:

答案 0 :(得分:1)

用于即将发布的Guardian版本(1.1.0版)的recent PR将允许您支持任何标头上的令牌验证。可以通过插入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"}