首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Guardian -排除需要身份验证的路由

Guardian -排除需要身份验证的路由
EN

Stack Overflow用户
提问于 2021-07-27 14:28:37
回答 1查看 23关注 0票数 0

目前,我已经使用以下配置设置了Guardian身份验证:

代码语言:javascript
复制
pipeline :api do
  plug :accepts, ["json"]
  plug MyApp.AuthAccessPipeline
end
代码语言:javascript
复制
defmodule MyApp.AuthAccessPipeline do
  use Guardian.Plug.Pipeline, otp_app: :my_app

  plug Guardian.Plug.VerifySession, claims: %{"typ" => "access"}
  plug Guardian.Plug.VerifyHeader, claims: %{"typ" => "access"}
  plug Guardian.Plug.EnsureAuthenticated
  plug Guardian.Plug.LoadResource, allow_blank: true
end

我的路由设置如下:

代码语言:javascript
复制
scope "/api/v1", MyAppWeb do
    pipe_through :api

  resources "/users", UserController, except: [:new, :edit]

  post "/auth/sign_up", UserController, :sign_up
  post "/auth/sign_in", UserController, :sign_in
  post "/auth/forgot_password", UserController, :forgot_password
end

如何设置此管道,以便无需身份验证即可访问/auth/*路由?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-27 14:53:35

我能够通过这样设置我的路由来解决这个问题:

代码语言:javascript
复制
pipeline :anonymous do
  plug :accepts, ["json"]
end

pipeline :protected do
  plug :accepts, ["json"]
  plug MyApp.AuthAccessPipeline
end

scope "/api/v1/auth", MyAppWeb do
  pipe_through :anonymous

  post "/sign_up", UserController, :sign_up
  post "/sign_in", UserController, :sign_in
  post "/forgot_password", UserController, :forgot_password
end

scope "/api/v1", MyAppWeb do
  pipe_through :protected

  resources "/users", UserController, except: [:new, :edit]
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68539950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档