ruby-on-rails - 将 devise_token_auth 与表单例份验证一起使用

标签 ruby-on-rails ruby devise token rails-4-2-1

我试图允许在移动设备上使用 token 进行身份验证,同时仍将网络表单用于网络应用程序。我决定使用 devise_token_auth .每当我尝试启动应用程序时,我都会收到错误消息,因为已经定义了 session 路径。

错误

ArgumentError: Invalid route name, already in use: 'new_provider_session' 

配置/routes.rb

mount_devise_token_auth_for 'Provider', at: 'api/v1/auth'
  devise_for :providers, controllers: {} do
    get 'providers/sign_in', to: 'web/sessions#new'
    delete 'providers/sign_out', to: 'web/sessions#destroy'
  end
  root to: 'web/welcome#welcome'

  devise_for :admins, controllers: {} do
    get 'admins/sign_in', to: 'web/sessions#new'
    delete 'admins/sign_out', to: 'web/sessions#destroy'
  end

最佳答案

试试这个:

使用 devise_token_auth 生成器生成 Provider 资源

$ rails g devise_token_auth:install Provider auth

然后更改 config/routes.rb 以将此路由放置在 API 版本控制的命名空间中

namespace :api do
  namespace :v1 do
    mount_devise_token_auth_for 'Provider', at: 'auth'
  end
end

检查路线

$ rake routes

关于ruby-on-rails - 将 devise_token_auth 与表单例份验证一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30111720/

相关文章:

ruby-on-rails - 非营利组织的 Rails 托管

Ruby 类与结构

ruby-on-rails - 是否有可能干掉这个迁移?

ruby-on-rails - 使用 Devise after_sign_in_path_for 重定向循环

ruby-on-rails - Rails 4 设计自定义路线

javascript - Rails 4 应用程序...在开发环境中,除非刷新页面,否则不会触发 javascript

sql - 使用别名比较 Rails ActiveRecord 中的两个字段

ruby-on-rails - Rails 应用程序无法编译 js : (No route matches [GET] "/packs/application-xxxx.js"):

ruby-on-rails - 在 Rails 3 中,如何验证字符串只匹配几个字符串

authentication - 如何使用 Devise 在 Rails3 中为用户创建不同的角色?