【问题标题】:Devise authentication as API only仅将身份验证设计为 API
【发布时间】:2013-02-06 11:42:42
【问题描述】:

我正在尝试将 Devise 身份验证与 Angular.js 一起使用。除了我想隐藏服务器端登录表单,即/users/sign_in GET 请求的结果之外,一切都已经在工作了,只剩下/users/sign_in POST 请求的可能性。这可能吗?

【问题讨论】:

    标签: ruby-on-rails devise angularjs http-post http-get


    【解决方案1】:

    我认为您需要跳过您在 routes.rb 中的 devise_for 调用中的会话(或者甚至不调用它)并坚持使用 devise_scope 来设置您的登录路径。因此,您的 routes.rb 将如下所示:

    devise_for :users, :skip => :sessions
    
    devise_scope do
      post "/users/sign_in" => "devise/sessions#create"
      delete "/users/sign_out" => "devise/sessions#destroy"
    end
    

    【讨论】:

    • 这是否意味着我的自定义 SessionsController(被覆盖的“create”方法)不起作用?
    • 不,要创建的帖子应该仍然有效。它限制了包含的 SessionsController 的范围,因此 rails 不会将 get /users/sign_in 的请求识别为有效路由。
    猜你喜欢
    • 2012-02-09
    • 2014-11-15
    • 2011-11-28
    • 2015-02-15
    • 2015-03-25
    • 2020-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多